Python不承认类参数的存在

时间:2014-03-28 02:26:57

标签: python

我正在使用python中的基于文本的RPG游戏,我有一个跟踪时间,季节随时间变化等等的课程,其中包括循环不同月亮周期( 28月亮,全,新等......就像在现实世界中一样)。类Date_Time()的 init 函数包含语句self.moon_state = 0,但我编写的用于测试与月亮相关的一些方法的函数返回错误:&#34 ; AttributeError:' Date_Time'对象没有属性' moon_state'" 这是 init 功能:

def __inti__(self, environment, season=Spring()):

    #### Objects ####
    self.season = season
    self.environment = environment
    self.weather = environment.weather
    self.player = environment.player

    #### time ####
    self.time_of_day = 0
    self.day_of_season = 0
    self.year = 0

    self.moon_state = 0

和测试代码:

for k in range(50):
    date_time.cycle_moon(1)
    print("\n ---- test moon", k + 1, "------------")
    print("Moon state", date_time.moon_state)
    date_time.check_moon()
    print("Moonlight:", date_time.get_moonlight)
    print(" ---- end test ------------\n")

和正在测试的功能:

def cycle_moon(self,days_passed):         """使月亮前进给定数量的状态,将其包裹到0         达到28(月亮状态从0到27)"""

    self.moon_state = self.moon_state + days_passed

    while self.moon_state >= 28:
        self.moon_state = self.moon_state - 28

我很感激任何建议。这个bug对我来说没什么意义,就像bug一样,变量存在,但是解释器似乎忽略了它。

1 个答案:

答案 0 :(得分:4)

很简单,你有语法/拼写错误。 它应该是__init__而不是__inti__

解释器使用__inti__方法没有问题,但是在创建类的实例时没有任何内容被初始化,因为解释器找不到__init__方法