3.8 形参和实参
我们已经看到,有些内置函数需要传入参数。比如,当调用math.sin时,需要传入一个数字作为实参。有的函数需要多个实参:math.pow需要两个,分别是基数(base)和指数(exponent)。
在函数内部,实参会被赋值给形参。下面的例子是一个用户自定义的函数,接收一个实参:
def print_twice(bruce):
print bruce
print bruce
这个函数在调用时会把实参的值赋到形参bruce上,并将其打印两次。
这个函数对任何可以打印的值都可用。
>>> print_twice('Spam')
Spam
Spam
>>> print_twice(17)
17
17
>>> print_twice(math.pi)
3.14159265359
3.14159265359
内置函数的组合规则,在用户自定义函数上也同样可用,所以我们可以对print_twice使用任何表达式作为实参:
>>> print_twice('Spam '*4)
Spam Spam Spam Spam
Spam Spam Spam Spam
>>> print_twice(math.cos(math.pi))
-1.0
-1.0
作为实参的表达式会在函数调用之前先执行。所以在这个例子中,表达式'Spam'*4和math.cos(math.pi)都只执行一次。
你也可以使用变量作为实参:
>>> michael = 'Eric, the half a bee.'
>>> print_twice(michael)
Eric, the half a bee.
Eric, the half a bee.
作为实参传入到函数的变量的名称(michael)和函数定义里形参的名称(bruce)没有关系。函数内部只关心形参的值,而不用关心它在调用前叫什么名字;在print_twice函数内部,大家都叫bruce。
时间: 2024-08-02 03:33:09