我在一个类中定义了一个属性(yYEAR),并使用一个全局变量(YEAR)来初始化它。
当我在类中调用方法时,它正在更新全局变量,即使我没有给它赋值。
为什么会这样?。
是错误的是做一些用不正确的位置定义类变量。在JAN = MAR =MAY =JUL =AUG= OCT =DEC=[0]*31
APR=JUN=SEP=NOV=[0]*30
FEB=[0]*28
YEAR = [JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC]
class load:
yYEAR=YEAR
def __init__(self, DURATION, LTYPE):
self.DURATION=DURATION
self.LTYPE= LTYPE
def daily247(self):
if self.LTYPE==1 :
for month in range(len(self.yYEAR)):
for day in range(len(self.yYEAR[month])):
self.yYEAR[month][day]= 1
else:
self.yYEAR= YEAR
self.dispLoad()
def dispLoad(self):
print(self.yYEAR[0])
print(self.yYEAR[1])
event1= load(10,1)
event1.daily247() # Expected result ones in all nested elements in YEAR
event2= load(10,0)
event2.daily247() # Expected result zeros in all nested elements in YEAR
print(YEAR[1]) # expected result is to have zeros for all elements