在实例方法中访问实例变量与类变量

实例方法中如何访问类变量? 即如何修改sum?

class Student(object):
    sum = 0
    def __init__(this,name,age):
        this.name = name
        this.age = age
        print(name)
        print(this.name)

问题:上面的 print(name) print(this.name) 意义相同吗?

虽然结果相同,但是意义不一样

print(name) # 表局部变量,形参
print(this.name) # 表实例变量

实例方法中访问类变量的2种形式

class Student(object):
    sum = 0
    name = "Scott"
    def __init__(self,name,age):
        self.name = name
        self.age = age
        # 访问类变量的第一种方法
        print(Student.name)
        # 访问类变量的第二种方法
        print(self.__class__.name)


s = Student("张三",12)
scott
scott

results matching ""

    No results matching ""