python定义year变量_Python类属性与全局变量

我在一个类中定义了一个属性(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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值