Discuss / Python / 为啥会报错

为啥会报错

Topic source

class Student(object):

    def __init__(self, name, gender):

        self.name = name

        self.__gender = gender

        def get_gender(self):

            return self.__gender

        def set_gender(self,gender):

            self.__gender = gender

# 测试:

bart = Student('Bart','male')

if bart.get_gender()!= 'male':

    print('测试失败!')

else:

    bart.set_gender('female')

    if bart.get_gender() != 'female':

        print('测试失败!')

    else:

        print('测试成功!')

 if bart.get_gender()!= 'male':

AttributeError: 'Student' object has no attribute 'get_gender'

你后面两个函数定义在第一个函数内部了,object检测不到后定义的两个特性


  • 1

Reply