Menu
CoddyTech

属性

本课属于 Coddy Python 学习旅程的“面向对象编程”单元。第 6 课,共 64 课。

属性是属于类或其对象的数据或变量。它们用于存储有关对象状态的信息。

属性有两种类型: 

类属性,由该类的所有对象共享:

class Student:
    school_name = "Python Academy"  # 类属性

实例属性:每个对象都有自己独特的实例属性:

class Student:
    school_name = "Python Academy"
    
    def set_info(self, name, age):
        self.name = name    # 实例属性
        self.age = age      # 实例属性

创建学生对象并设置各自的数据:

student1 = Student()
student2 = Student()

student1.set_info("Alice", 20)
student2.set_info("Bob", 22)

访问实例属性(每个对象都独有):

print(student1.name)    # Alice
print(student2.name)    # Bob
print(student1.age)     # 20

访问类属性(对所有对象都相同):

print(student1.school_name)    # Python Academy
print(student2.school_name)    # Python Academy
print(Student.school_name)     # Python Academy

输出:

Alice
Bob
20
Python Academy
Python Academy
Python Academy

关键区别:类属性由所有对象共享,而实例属性对每个对象都是独有的。实例属性使用 self.attribute_name,类属性则只使用 attribute_name。

亲手试试

这节课没有代码挑战。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

面向对象编程中的所有课

自己练习: Python 在线编译器