关于Python作用域自学总结攻略
什么是作用域?
在Python中,作用域是指变量的可访问性和可见性的范围。Python中有三种作用域:全局作用域、局部作用域和内建作用域。
- 全局作用域:在整个程序中都可访问的变量,定义在函数外部。
- 局部作用域:只在函数内部可访问的变量,定义在函数内部。
- 内建作用域:Python内置的函数和变量,如
print()
和len()
。
作用域规则
Python中的作用域遵循以下规则:
- 在函数内部,可以访问全局作用域中的变量。
- 在函数内部,不能直接访问其他函数的局部作用域中的变量。
- 在函数内部,可以使用
global
关键字声明一个变量为全局变量。 - 在函数内部,可以使用
nonlocal
关键字声明一个变量为非局部变量。
示例说明
示例1:全局作用域和局部作用域
x = 10 # 全局变量
def my_function():
y = 20 # 局部变量
print(x) # 可以访问全局变量x
print(y) # 可以访问局部变量y
my_function()
print(x) # 可以在函数外部访问全局变量x
print(y) # 无法在函数外部访问局部变量y,会引发NameError
在上面的示例中,x
是一个全局变量,可以在函数内部和外部访问。y
是一个局部变量,只能在函数内部访问。在函数内部,我们可以访问全局变量x
和局部变量y
,但在函数外部,我们只能访问全局变量x
。
示例2:使用global关键字声明全局变量
x = 10 # 全局变量
def my_function():
global x # 使用global关键字声明x为全局变量
x = 20 # 修改全局变量x的值
print(x) # 输出修改后的全局变量x
my_function()
print(x) # 在函数外部输出修改后的全局变量x
在上面的示例中,我们使用global
关键字声明x
为全局变量,然后在函数内部修改了全局变量x
的值。在函数外部,我们可以看到全局变量x
的值已经被修改为20。
以上是关于Python作用域的自学总结攻略,希望对你有帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:关于Python作用域自学总结 - Python技术站