Изменение: предложенный дубликат, не отвечает на мой вопрос, так как меня в первую очередь касается различий в Python конкретно. Предлагаемый дубликат гораздо шире, чем этот вопрос.
Я недавно начал изучать Python. В настоящее время я читаю "Изучай Python трудный путь". У меня есть некоторый опыт специального программирования, но я вернусь к началу, чтобы изучить все с нуля на этот раз.
В книге один из первых уроков касается print
, и автор дает различные инструкции по его использованию в Python 2.7, например:
print "This is fun."
Мне стало интересно, как технически называется print
здесь с точки зрения программирования. Некоторые исследования обнаружили это, PEP-3105
В этом случае делается для того, чтобы сделать print
функцией:
Печатное выражение давно появилось в списках сомнительного языка функции, которые должны быть удалены в Python 3000, такие как Guido Презентация "Python Regrets" 1. Таким образом, цель этого ПКП не нова, хотя это может стать предметом споров среди Python разработчиков.
Таким образом, print
является оператором в Python 2.7 и функцией в Python 3.
Но я не смог найти четкого определения разницы между statement
и function
. Я нашел это также человеком, который изобрел Python, Гвидо ван Россумом, в котором он объясняет, почему было бы хорошо сделать print функцией вместо выражения.
Из того, что я прочитал, видно, что функция - это некоторый код, который принимает параметры и возвращает значение. Но разве print
не делает это в Python 2.7? Разве это не принимает строки и возвращает объединенную строку?
В чем разница между оператором и функцией в Python?