Python3.2.3 官方文档:定义方法与局部变量

需积分: 49 29 下载量 130 浏览量 更新于2024-08-09 收藏 1.29MB PDF 举报
"Python3开发手册-定义方法与斐波那契数列的实现" 在Python3中,定义方法是创建自定义功能的关键。方法是一种可重复使用的代码块,通常用于封装特定任务。在Python中,定义一个方法使用关键字`def`,接着是方法名和一个用圆括号括起来的参数列表。例如,在斐波那契数列的示例中,`fib`方法接收一个参数`n`,用于限制数列的输出范围。 ```python def fib(n): """Print a Fibonacci series up to n.""" a, b = 0, 1 while a < n: print(a, end=' ') a, b = b, a+b print() ``` 这段代码中,`def fib(n):`定义了一个名为`fib`的方法,它接受一个整数`n`作为输入。方法的主体包含了计算斐波那契数列的逻辑,这里使用了`while`循环和两个变量`a`和`b`来迭代序列。`a, b = b, a+b`这行代码是Python的元组解包特性,用于同时更新`a`和`b`的值。 在方法定义的开头,可以添加一个文档字符串(docstring),即三对引号包围的字符串,用来描述方法的功能。文档字符串在程序中可以被访问,常用于生成帮助文档或自动生成的API文档。这是一个良好的编程实践,因为它提高了代码的可读性和可维护性。 在Python的执行环境中,方法有自己的作用域,也就是所谓的局部符号表。这意味着在方法内部定义的变量(如`a`和`b`)只在该方法内部可见。如果尝试在方法外部访问这些变量,会发现它们不存在。相反,如果要在方法内部修改全局变量,需要使用`global`关键字声明。 关于变量查找顺序,Python遵循LEGB规则(Local, Enclosing, Global, Built-in),即首先在当前方法的局部作用域中查找,接着在任何包含它的作用域(如果有的话,比如函数或类定义),然后是全局作用域,最后是内置名字。这意味着,虽然可以引用全局变量,但不能直接在方法内部赋值给它们,除非使用`global`声明。 Python3中的方法定义允许开发者创建复用的代码模块,通过参数传递数据,并利用作用域规则来管理变量。通过良好的文档和变量管理,可以构建出清晰、易于理解和维护的代码。