《像计算机科学家一样思考Python》——3.8 形参和实参

    xiaoxiao2024-04-06  125

    本节书摘来自异步社区《像计算机科学家一样思考Python》一书中的第3章,第3.8节,作者[美]Allen B. Downey,赵普明 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

    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。

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)