不能向类添加变量吗?

2024-05-23 23:08:08 发布

您现在位置:Python中文网/ 问答频道 /正文

好吧,我真的开始对这个感到恼火了。我好像搞不懂是什么?有人说这是压痕,但我试过了

这是我的密码:

class player(object):
  def __init__(self):
    self.nation_name = None
    self.race = None
    self.name = None

    self.special_unit = None
    self.special_unitsize = 0
    self.regular_army = 50
    self.army_size = special_unitsize +regular_army
    self.army_power = 250

    self.IceColdCoins = 0
    self.gold = 100

    self.taxincome = 45
    self.mineincome = 0
    self.recruitrate = 30
    self.totalincome = taxincome + mineincome

    self.num_of_mines = 1
    self.num_of_towns = 0
    self.num_of_cities = 1
    self.num_of_fort = 0

    self.wait_till_upgrade = 0

每次我尝试添加任何类型的变量时,它都不允许这样说: 未定义属性错误(示例)

我做了一个测试,也犯了同样的错误。复制代码并添加一个变量,然后对该变量做一个if语句它将不起作用


Tags: ofnameselfnone密码错误numclass
1条回答
网友
1楼 · 发布于 2024-05-23 23:08:08

您忘记使用self

self.taxincome = 45
self.mineincome = 0
self.totalincome = taxincome + mineincome   # there is no 'taxincome', etc.

前两行不是在本地(或全局)命名空间中生成taxincomemineincome变量,而是self的属性:

self.taxincome = 45
self.mineincome = 0
self.totalincome = self.taxincome + self.mineincome  # note the 'self'

这同样适用于special_unitsizeregular_army

相关问题 更多 >