я побежал следующий код в интерпретатор Python:«типа» команда в питон дает неожиданные результаты
>>> s
<sqlalchemy.orm.session.Session object at 0x7f4fc8d69e10>
>>> type(s)
<class 'sqlalchemy.orm.session.Session'>
>>> type(s) == sqlalchemy.orm.session.Session
False
(1) Почему переводчик говорят тип s
не sqlalchemy.orm.session.Session
, когда он просто сказал, что это было?
(2) Если команда type
не работает, что лучше всего сказать, если объект является объектом Session
? (Я пытаюсь использовать это в утверждении для проверки ввода функции)
(3) Просто для удовольствия я попытался сделать это с помощью примитивного типа, и это сработало. Почему здесь целые числа?
>>> type(3)
<type 'int'>
>>> type(3) == int
True
Это работает для меня. 's = orm.session.Session(); type (s) == sqlalchemy.orm.session.Session -> True', что делает' isinstance (s, sqlalchemy.orm.session.Session) 'output? –
@PadraicCunningham Возвращает True – Jessica
Вам все равно лучше использовать isinstance. http://stackoverflow.com/questions/1549801/differences-between-isinstance-and-type-in-python –