一文理解 Python 中的实例变量

360影视 国产动漫 2025-05-22 15:20 2

摘要:实例变量是属于类的一个实例的变量。每个从类创建的对象都有自己独立的这些变量副本。与类变量不同,类变量在所有实例之间共享,实例变量为每个对象存储独特的数据。

实例变量是属于类的一个 实例 的变量。每个从类创建的对象都有自己独立的这些变量副本。与类变量不同,类变量在所有实例之间共享,实例变量为每个对象存储独特的数据。

想象一下:如果你和我都报名了一个在线 Python 课程,我们各自都有自己的登录凭证。课程(类)是相同的,但我们的用户名(实例变量)是唯一的!

要定义一个实例变量,你需要在类中使用 self 关键字。让我们看一个简单的例子:

class Student: def __init__(self, name, age): self.name = name # Instance variable self.age = age # Instance variable# Creating instancesstudent1 = Student("Harish", 20)student2 = Student("Chandru", 22)print(student1.name) # Output: Harishprint(student2.age) # Output: 22

在这个例子中,name 和 age 是实例变量。每个 Student 对象都有这些变量的自己的值。

实例变量存储在对象的 __dict__ 属性中。您可以使用以下方法检查:

print(student1.__dict__)

这将输出:

{'name': 'Harish', 'age': 20}

每个实例都有自己的 __dict__,其中只存储其特定的数据。

特性 实例变量 类变量 定义在 __init__ 方法中 定义在 __init__ 方法外部 属于各个实例 属于整个类 修改影响 仅一个实例 所有实例

类变量的示例:

class Course: category = "Programming" # Class variable def __init__(self, name): self.name = name # Instance variablecourse1 = Course("Python Basics")course2 = Course("Java Basics")print(course1.category) # Output: Programmingprint(course2.category) # Output: Programming

您可以像这样修改特定对象的实例变量:

student1.age = 21 # Changing Harish's ageprint(student1.age) # Output: 21

这种更改不会影响其他实例,例如 student2。

要了解更多关于访问和修改实例变量的信息,请访问 PYnative。

print(student1.grade) # AttributeError: 'Student' object has no attribute 'grade'student1.grade = "A"print(student1.grade) # Output: Adel student1.ageprint(student1.age) # Raises AttributeError

来源:自由坦荡的湖泊AI一点号

相关推荐