在python中的类之间传递属性的问题

时间:2016-11-24 02:21:54

标签: python class

我已经在下面制作了这些课程,并且我试图让游戏中的一个平铺显示基于另一个类中的属性的文本。我一直收到这个错误。 文件“C:\ Users \ xxxxxxxx \ PycharmProjects \ Game.idea \ Girls.py”,第20行,not_interested     返回(self.interest< 10) AttributeError:'GirlTile'对象没有属性'interest'

class Girls():
    def __init__(self):
        self.girlnames = ["Lucy", "Cindy", "April", "Allison", "Heather", "Andrea", "Brittany", "Jessica", "Lane", "Lauren", "Sabrina","Chelsea","Amber"]
        self.name = random.choice(self.girlnames)
        self.height = random.randrange(60, 72)
        self.age = random.randrange(18, 25)
        self.number = self.new_number()
        self.interest = 0

        def not_interested(self):
            return (self.interest < 10)

from Girls import Girls

class GirlTile(MapTile):
    def __init__(self,x,y):
        self.enemy = Girls()
        super().__init__(x, y)

    def intro_text(self):
        self.stance = Girls.not_interested(self)
        if self.stance:
            print("Hey whats up")

1 个答案:

答案 0 :(得分:1)

看起来not_interested是一个实例级方法,但您尝试使用类(Girls)调用它。这个电话有点&#34;工作&#34;因为您在调用中传递了GirlTile实例 - 因此GirlTile没有interest属性的错误(因为它没有)。

也许你打算这样做?

def intro_text(self):
    # Use an actual Girl instance to call not_interested().
    self.stance = self.enemy.not_interested()
    ...