抱歉,这是一个有些困惑的Python新手问题。假设我有一个名为animals.py
的模块……
globvar = 1
class dog:
def bark(self):
print globvar
class cat:
def miaow(self):
print globvar
这与什么有区别?
class dog:
def __init__(self):
global globvar
def bark(self):
print globvar
class cat:
def miaow(self):
print globvar
假设我总是先实例化一个狗?
我的问题是,这两种方式有什么区别吗?在第二个例子中,是否像第一个例子一样,初始化
dog
会创建一个模块级的globvar
,并且行为和作用域相同?