更新时间:2021-12-09 17:54:18
本节书摘来自异步社区《像计算机科学家一样思考Python》一书中的第3章,第3.9节,作者[美]Allen B. Downey,赵普明 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。
当你在函数体内新建一个变量时,它是局部的(local),即它只存在于这个函数之内。比如:
def cat_twice(part1, part2):
cat = part1 + part2
print_twice(cat)
这个函数接收两个实参,将它们拼接起来,并将结果打印两遍。下面是一个使用这一函数的例子:
>>> line1 = 'Bing tiddle '
>>> line2 = 'tiddle bang.'
>>> cat_twice(line1, line2)
Bing tiddle tiddle bang.
Bing tiddle tiddle bang.
当cat_twice结束时,变量cat会被销毁。这时再尝试打印它的话,会得到一个异常:
>>> print cat
NameError: name 'cat' is not defined
形参也是局部的。比如,在print_twice函数之外,不存在bruce这个变量。