Python中的语句和函数有什么区别?

Python中的语句和函数有什么区别?,python,python-2.7,python-3.x,function,statements,Python,Python 2.7,Python 3.x,Function,Statements,编辑:建议的副本并没有回答我的问题,因为我主要关心的是Python中的差异。建议的重复比这个问题要广泛得多 我最近开始学习Python。我目前正在读“艰苦地学习Python”。我有一些特别的编程经验,但这次我要从头开始学习所有东西 在本书中,第一堂课涉及到print,作者提供了在Python 2.7中使用它的各种说明,例如: print "This is fun." 我发现自己在想,从编程的角度来看,这里的print在技术上被称为什么 在这种情况下,使打印成为一种功能: 印刷声明长期以来一直出

编辑:建议的副本并没有回答我的问题,因为我主要关心的是Python中的差异。建议的重复比这个问题要广泛得多

我最近开始学习Python。我目前正在读“艰苦地学习Python”。我有一些特别的编程经验,但这次我要从头开始学习所有东西

在本书中,第一堂课涉及到
print
,作者提供了在Python 2.7中使用它的各种说明,例如:

print "This is fun."
我发现自己在想,从编程的角度来看,这里的
print
在技术上被称为什么

在这种情况下,使
打印
成为一种功能:

印刷声明长期以来一直出现在可疑语言的列表上 Python3000中要删除的特性,例如Guido的 “Python遗憾”演示。因此,本政治公众人物的目标 这并不是什么新鲜事,尽管在Python中可能会引起很大争议 开发者

因此,
print
是Python 2.7中的一条语句,也是Python 3中的一个函数

但是我一直无法为
语句
函数
之间的区别找到一个直接的定义。我还发现了Python的发明者Guido van Rossum,他在书中解释了为什么让print成为一个函数而不是一个语句会更好

print "this is a message"
从我读到的内容来看,函数似乎是一些接受参数并返回值的代码。但是在Python2.7中,
print
不是这样做的吗?它不是接收字符串并返回一个连接的字符串吗


Python中的语句和函数有什么区别

语句是一种语法结构。函数是一个对象。有一些语句可以创建函数,如
def

def Spam(): pass

因此,语句是向Python指示您希望它创建函数的方法之一。除此之外,它们之间真的没有太多关系。

Python中的语句是您编写的任何代码块。这更多的是一个理论概念,而不是一个真实的东西。如果您在编写代码时使用了正确的语法,您的语句将被执行(“评估”)。如果使用不正确的语法,代码将抛出错误。大多数人交替使用“陈述”和“表达”

查看语句和函数之间差异的最简单方法可能是查看一些示例语句:

5 + 3 # This statement adds two numbers and returns the result
"hello " + "world" # This statement adds to strings and returns the result
my_var # This statement returns the value of a variable named my_var
first_name = "Kevin" # This statement assigns a value to a variable.
num_found += 1 # This statement increases the value of a variable called num_found
print("hello") # This is a statement that calls the print function
class User(BaseClass): # This statement begins a class definition
for player in players: # This statement begins a for-loop
def get_most_recent(language): # This statement begins a function definition
return total_count # This statement says that a function should return a value
import os # A statement that tells Python to look for and load a module named 'os'

# This statement calls a function but all arguments must also be valid expressions.
# In this case, one argument is a function that gets evaluated
mix_two_colors(get_my_favorite_color(), '#000000')

# The following statement spans multiple lines and creates a dictionary
my_profile = {
  'username': 'coolguy123' 
}
下面是一个无效语句的示例:

first+last = 'Billy Billson'
# Throws a Syntax error. Because the plus sign is not allowed to be part of a variable name.
在Python中,您倾向于将每条语句放在各自的行中,嵌套语句除外。但在其他编程语言(如C和Java)中,可以在一行中放置任意数量的语句,只要它们之间用冒号(;)分隔即可

在Python2和Python3中,都可以调用

print("this is a message") 
它会将字符串打印到标准输出。这是因为它们都有一个定义为print的函数,该函数接受字符串参数并打印它

Python2还允许您在不调用函数的情况下生成一条语句以打印到标准输出。这句话的语法是,它以print这个词开头,后面的就是被打印出来的东西。在Python3中,这不再是有效的语句

print "this is a message"

供参考:。不,print语句不返回任何内容(与print函数不同,print函数不返回任何内容)。我确实看到了这个问题,但我主要关注Python,这里特别关注其他语言。在建议的副本中,所选答案的状态是“在大多数语言中,语句不返回值”。Python中语句和函数之间的区别不在该答案中。IMO对我链接的问题的公认答案以一种与语言无关的方式很好地解释了这一点,这种方式对Python也是有效的。第二个投票答案是针对Python的。如果您对其中任何一个都不满意,您应该阅读,特别是关于复合语句的部分,在那里您将了解到这是一个语句的示例。我感谢您的努力。我试图理解函数和语句之间的区别。函数定义可能是语句的一个例子,这一点对我没有帮助,它有点循环。我试图理解一个函数有哪些独特的特性,而Python中的语句没有,反之亦然,即Python中的语句和函数有什么区别。Jim Fasarakis Hilliard的回答有些帮助,如果其他人愿意详细说明的话,这会很有用。你能详细说明这个答案吗?不是所有的东西都是一个语法结构吗?同样在python中,您可以在一行上放置任意多的语句,只要它们之间用冒号(;)分隔。