#python #python_2x #print #expressions
Почему функция/оператор/набор символов (или что оно на самом деле) print не может работать в выражениях? Python 2.7.9 (default, Jun 29 2016, 13:08:31) [GCC 4.9.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> print('hahaha') hahaha >>> 0 or print('hahaha') File "", line 1 0 or print('hahaha') ^ SyntaxError: invalid syntax >>> def test(): print('hahaha') ... >>> 0 or test() hahaha >>>
Ответы
Ответ 1
В Python 2.X print является ключевым словом (вроде return во многих языках), по этому после него выражение не обязательно должно быть заключено в скобки. И оно не является функцией и не может возвращать значения (даже None). По этому оно не может быть частью логического выражения: 0 or return("hahaha") В Pyton 3.X это фнукция. По этому там требуется ее аргументы заключать в скобки, и она возвращает None (который в логическом контексте действует как False), по этому такое логическое выражение не вызовет ошибок.
Комментариев нет:
Отправить комментарий