python函数的基本解释

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放在它旁边的括号中的目的是什么?是否要在下面的打印命令中调

下面我有一个基本问题,可以帮助我了解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
放在它旁边的括号中的目的是什么?是否要在下面的打印命令中调用
“steve”
“testing”?或者这些字符串直接进入
print
命令

将arg1、arg2放在它旁边的括号中的目的是什么

arg1arg2是输入的名称,函数可以从中使用这些输入。在您的情况下,您的功能是打印它们。其他函数可以使用这些参数执行其他操作。但是让我们一步一步走

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中的内置函数。上面这一行的作用是传递arg1arg2参数,并以
“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放在括号中的目的是什么

这里def
print\u two\u(arg1,arg2):
是一个函数,
arg1,arg2
被称为参数,在函数中它们是两个变量,
print\u\u再次
函数需要两个参数

让我困惑的是印刷品再次出现(“史蒂夫”,“测试”)

当您调用
print\u tw时
print "Argument 1: %r, Argument 2: %r" % (arg1, arg2)