初学者必问:Python变量作用域详解
在Python中,变量的作用域主要分为三种:
- 全局作用域(Global Scope):
- 在文件的任何地方都可以直接访问的变量。
- 创建全局变量时需要在函数外部定义。
# 全局变量
global_var = "I'm a global variable"
def my_function():
print(global_var) # 可以直接访问
my_function() # 输出: I'm a global variable
- 局部作用域(Local Scope):
- 在函数内部定义的变量,只在该函数内有效。
- 当函数执行到该变量时,如果还未赋值,则会抛出
NameError
。
def my_function():
local_var = "I'm a local variable"
# 函数内部访问local_var
print(local_var)
my_function() # 输出: I'm a local variable
- 类作用域(Class Scope):
- 在类内部定义的变量,只在该类内有效。
- 类的作用域可以跨越多个函数。
class MyClass:
class_variable = "I'm a class variable"
def function1(self):
self.class_variable # 可以访问类变量
def function2(self):
print(self.class_variable) # 只在function2内有效,但print会输出结果
my_instance = MyClass()
my_instance.function1()
my_instance.function2()
以上就是Python中变量作用域的三种类型。
还没有评论,来说两句吧...