python函数的基本解释
下面我有一个基本问题,可以帮助我了解python中的函数(遵循uni准备中的LPTHW教程)。有人能解释一下下面的语法吗?我的假设是否正确python函数的基本解释,python,function,Python,Function,下面我有一个基本问题,可以帮助我了解python中的函数(遵循uni准备中的LPTHW教程)。有人能解释一下下面的语法吗?我的假设是否正确 def print_two_again(arg1, arg2): print "arg1: %r, arg2: %r" % (arg1, arg2) print_two_again("Steve","Testing") 我知道print\u two\u是函数的名称,但是将arg1,arg2放在它旁边的括号中的目的是什么?是否要在下面的打印命令中调
def print_two_again(arg1, arg2):
print "arg1: %r, arg2: %r" % (arg1, arg2)
print_two_again("Steve","Testing")
我知道print\u two\u
是函数的名称,但是将arg1
,arg2
放在它旁边的括号中的目的是什么?是否要在下面的打印命令中调用“steve”
“testing”?或者这些字符串直接进入print
命令
将arg1、arg2放在它旁边的括号中的目的是什么
arg1和arg2是输入的名称,函数可以从中使用这些输入。在您的情况下,您的功能是打印它们。其他函数可以使用这些参数执行其他操作。但是让我们一步一步走
def print_two_again(arg1, arg2):
print "arg1: %r, arg2: %r" % (arg1, arg2)
在以def
开头的前两行中,您定义了一个函数。它有作用。在您的例子中,打印它需要的两个参数
print_two_again("Steve","Testing")
在第三行,您实际要做的是调用该函数。调用该函数时,您告诉函数将“Steve”
和“Testing”
参数传递给函数定义
上面的行字面上称为函数调用。假设您有一个程序,希望它打印两个单词。您需要定义您希望如何完成它。这称为函数定义,在这里定义事物的工作方式。没关系,但还不够。你会想让它发生的。所以你要做的就是执行这个函数。这称为函数调用
print_two_again("First","Call")
print_two_again("Second","Call")
在上面几行中,我们所做的是调用前面定义的函数两次,但参数不同
现在让我们看第二行,这可能会让你感到困惑
print "arg1: %r, arg2: %r" % (arg1, arg2)
print
是Python中的内置函数。上面这一行的作用是传递arg1和arg2参数,并以“arg1:%r,arg2:%r”的格式打印它们
下一步将arg1、arg2放在括号中的目的是什么
对吗
在这种情况下,arg1
和arg2
称为参数。参数允许函数接收预期用于执行任务的输入。输入由呼叫者提供
例如,在学校数学中,您可能已经看到了类似z=f(x,y)
的情况,其中名为f的函数定义为f(x,y)=x+y
。这与编程语言中的概念相同
它还允许您编写更通用、更灵活和可重用的代码。例如,您不必编写多个不同版本的函数来完成相同的任务,但结果略有不同,从而避免出现诸如add2(x,y)=x+y
和add3(x,y,z)=x+y+z
等情况。您可以简单地执行以下操作:
def sum(values): # values is of type 'list'
result = 0
for value in values:
result += value
return result
这样称呼它:
total=sum([1,2,3,4,5,6,7])#任何长度的数字列表
或者像这样:
total=sum([1,2])
函数需要多少参数取决于它需要做什么以及其他因素
更新
让我困惑的是打印的两张纸(“史蒂夫”,“测试”),这是什么
这叫什么,目的是什么?
再次打印两行(“Steve”、“testing”)
是函数调用(即函数调用)。这会导致程序再次“跳转”到名为print\u two\u的函数体中,并开始执行其中的代码
(“Steve”,“testing”)
部分是作为输入发送到函数的参数。这些是位置参数,这基本上意味着它们根据调用函数时提供它们的顺序“映射”到名称arg1
和arg2
例如,考虑函数<代码> f(x,y)= x-y。如果此函数被称为
z=f(3,4)
,则名为x
的参数将接收值3
,y
将为4
,以返回-1
。如果您在调用中反转参数,那么您将有x=4
和y=3
,它将返回1
。您提供的函数中的参数也是如此
这意味着函数调用中参数的顺序非常重要
print_two_again("First","Call")
print_two_again("Second","Call")
与许多其他语言一样,Python语言已经具有一组内置功能。名为print
的函数就是一个例子。您可以使用pydoc
命令获得大量信息(pydoc3
如果您使用Python3,我建议您这样做)。例如,命令pydoc3 print
生成以下文档:
关于内置函数打印模块内置内容的帮助:
打印(…)
打印(值,…,sep='',end='\n',file=sys.stdout,flush=False)
请注意,这是Python3的文档。Python2文档将略有不同
你对函数的理解,就像你在学校的数学课程中看到的那样,与编程语言中看到的函数有着直接的联系。这是因为数学是计算机科学和程序设计语言的基础(包括算法分析)的一部分。
将arg1、arg2放在括号中的目的是什么
这里defprint\u two\u(arg1,arg2):
是一个函数,arg1,arg2
被称为参数,在函数中它们是两个变量,print\u\u再次
函数需要两个参数
让我困惑的是印刷品再次出现(“史蒂夫”,“测试”)
当您调用print\u tw时
print "Argument 1: %r, Argument 2: %r" % (arg1, arg2)