0

在这里,我做了一个条件,即要创建的对象的年龄必须大于 18。对于这个条件,我使用 self.age 作为我所指的年龄是来自 student_list 的年龄。但是,当我运行代码,我得到:AttributeError:'student_list'对象没有属性'age'

'''

class student_list:
    class_membership=True
    def __init__(self,name,age,miles):
        if self.age>=18:
            self.name=name
            self.age=age
            self.miles=miles

    def run(self):
        print(f'I ran {self.miles}')

    def name_1(self):
        print(f'Hi my name is {self.name}')

player_1=student_list('Tom Ellis',20,20)
print(player_1.name)
print(player_1.age)

'''

当我使用以下代码段时,此错误不再显示:'''

class student_list:
        class_membership=True
        def __init__(self,name,age,miles):
            if age>=18:
                self.name=name
                self.age=age
                self.miles=miles

'''

这背后的原因是什么?

4

1 回答 1

1

当您从class student_list函数创建实例时__init__调用并且在此函数中您应该定义变量并且在此代码中您收到错误,因为在您没有定义之前self.age

于 2021-09-01T13:34:40.720 回答