Methods 为什么一个方法的返回值在另一个方法中不可访问

Methods 为什么一个方法的返回值在另一个方法中不可访问,methods,return-value,attributeerror,Methods,Return Value,Attributeerror,我认为您在尝试调用validate_marks方法时遇到了问题 class Student: def __init__(self,student_id,marks,age): self.__student_id=student_id self.__marks=marks self.__age=age def set_student_id(self,student_id): self.__student_id=stu

我认为您在尝试调用validate_marks方法时遇到了问题

class Student:
    def __init__(self,student_id,marks,age):
        self.__student_id=student_id
        self.__marks=marks
        self.__age=age

    def set_student_id(self,student_id):
        self.__student_id=student_id

    def set_marks(self,marks):
        self.__marks=marks

    def set_age(self,age):
        self.__age=age

    def get_student_id(self):
        return self.__student_id    

    def get_marks(self):
        return self.__marks 

    def get_age(self):
        return self.__age

    def validate_age(self):
        return True if self.__age>20 else False

    def check_qualification(self):
        a=validate_marks(self)
        if a==True:
            return True if self.__marks>=65 else False
        else:
            return False

    def validate_marks(self):
        return True if self.__marks in range(0,101) else False


a=Student(4,89,22)       
a.check_qualification()        
shows error help to fix it
用法看起来像

def validate_age(self):
    return self.__age > 20

def check_qualification(self):
    return self.validate_marks() and self.validate_age() and self.__marks >= 65

def validate_marks(self):
    return self.__marks in range(0, 101)

谢谢你的帮助。它工作得很好。你能解释一下我们的check_qualification()方法有什么不同吗?你试图将self作为参数传递,但你需要使用self调用其他实例方法。如果你发现答案有效,你可以接受。我可以调用set_age(age)inside check_qualification()吗?我的意思是如何调用在另一个方法中使用参数的方法。用法类似于self.set_age(age)。是否需要在check_qualification()方法中询问age的值?否则,输入是什么?a.check_qualification()如何获得年龄值?
james = Student(12, 79, 25) # 12 - Student ID, 79 Marks & 25 Age
james.check_qualification() # True or False based on validation