且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《像计算机科学家一样思考Python》——3.9 变量和形参是局部的

更新时间:2021-12-09 17:54:18

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

3.9 变量和形参是局部的

当你在函数体内新建一个变量时,它是局部的(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这个变量。