程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

一文理解 Python 中的实例变量(python变量举例)

hfteth 2025-06-08 21:15:22 技术文章 2 ℃

Python 中的实例变量是什么?

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

如何在 Python 中定义实例变量

要定义一个实例变量,你需要在类中使用 self 关键字。

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

在这个例子中,nameage 是实例变量。每个 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 variable
course1 = Course("Python Basics")
course2 = Course("Java Basics")
print(course1.category)  # Output: Programming
print(course2.category)  # Output: Programming

修改实例变量

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

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

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

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

实例变量常见问题

1. 如果我访问一个不存在的实例变量会发生什么?

Python 会抛出一个 AttributeError

print(student1.grade)  # AttributeError: 'Student' object has no attribute 'grade'

2. 实例变量可以在__init__外创建吗?

可以!你可以稍后添加它们:

student1.grade = "A"
print(student1.grade)  # Output: A

3. 如何删除一个实例变量?

使用 del

del student1.age
print(student1.age)  # Raises AttributeError
最近发表
标签列表