这样做可以按预期方式工作:
class d:
def __init__(self,arg):
self.a = arg
def p(self):
print "a= ",self.a
x = d(1)
y = d(2)
x.p()
y.p()
yielding
a= 1
a= 2
我尝试过在
__init__
中使用全局语句来消除"self"。class d:
def __init__(self,arg):
global a
a = arg
def p(self):
print "a= ",a
x = d(1)
y = d(2)
x.p()
y.p()
产生不良后果,不可取:
a= 2
a= 2
有没有一种方法可以不使用“self”来编写它?
global a
会导致所有实例共享变量a
,这基本上就是全局变量的定义。 - user395760