Python非局部变量与默认参数值详解

需积分: 50 75 下载量 175 浏览量 更新于2024-08-09 收藏 2.76MB PDF 举报
默认参数值是Python编程中一种常用特性,它允许函数的某些参数具有预设的值,如果调用函数时没有提供这些参数的值,函数就会使用这些默认值。在函数定义中,形参后面通过等号(=)和默认值来指定默认参数。例如: ```python def function_name(param1, param2 = default_value): # 函数体... ``` 这里的`param2 = default_value`就是默认参数值,如果在调用`function_name()`时不传入`param2`,则它的值会默认为`default_value`。 默认参数值的设计目的是提高代码的灵活性,同时避免函数调用时因忘记提供某些参数而引发错误。但是,有一个重要的注意事项:默认参数值必须是不可变的,因为Python在函数定义阶段就确定了参数的默认值,如果默认值是可变对象(如列表或字典),可能会导致意外行为。 在使用非局部变量时,Python中的函数可以定义在另一个函数内部,如例子所示: ```python def func_outer(): x = 2 print('x is', x) def func_inner(): nonlocal x x = 5 print('Changed local x to', x) func_inner() func_outer() ``` 在这里,`nonlocal x`关键字告诉解释器`x`在`func_inner`函数中是属于外部`func_outer`的变量,尽管它在`func_inner`内部被重新赋值。 《AByteofPython》是一本针对Python初学者的入门书籍,讲解了Python的基础概念、特点以及如何安装和使用Python环境。书中还会涉及编程基础,如函数定义、默认参数值的使用,以及如何编写和运行Python程序。随着Python版本的发展,如Python 3.0的出现,书中也包含了对新特性的介绍,比如Python 3.0对默认参数值的规定。对于学习者来说,这是一本实用且易懂的资源。