1. 实例变量:实例变量是属于类的实例的变量,每个实例都拥有自己独立的实例变量,可以通过self.变量名来访问。实例变量的值可以在多个实例之间不同。

举例:定义一个人类的类,每个人有自己的姓名和年龄,这些属性是实例变量。

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

person1 = Person("John", 20)
person2 = Person("Mary", 18)

print(person1.name)  # 输出 John
print(person1.age)  # 输出 20

print(person2.name)  # 输出 Mary
print(person2.age)  # 输出 18
  1. 类变量:类变量是属于类的变量,它是所有实例共享的,可以通过类名.变量名或实例.变量名来访问。类变量的值在多个实例之间是相同的。

举例:定义一个班级的类,班级有自己的名称和人数,这些属性是类变量。

class Class:
    name = "Class 1"
    student_num = 30

class1 = Class()
class2 = Class()

print(Class.name)  # 输出 Class 1
print(class1.name)  # 输出 Class 1
print(class2.name)  # 输出 Class 1

class1.name = "Class 2"

print(Class.name)  # 输出 Class 1
print(class1.name)  # 输出 Class 2
print(class2.name)  # 输出 Class 1
  1. 私有变量:私有变量是在变量名前加上双下划线“__”的变量,它只能在类的内部访问,外部无法直接访问。私有变量可以用来保护数据,防止外部直接修改。

举例:定义一个人类的类,人有自己的姓名和年龄,但是年龄是私有变量,外部无法直接访问和修改。

class Person:
    def __init__(self, name, age):
        self.name = name
        self.__age = age

    def get_age(self):
        return self.__age

person1 = Person("John", 20)

print(person1.name)  # 输出 John
print(person1.get_age())  # 输出 20

# 外部无法直接访问私有变量
# print(person1.__age)  # 报错 AttributeError: 'Person' object has no attribute '__age'

# 外部无法直接修改私有变量
# person1.__age = 30  # 报错 AttributeError: 'Person' object has no attribute '__age'
  1. 静态变量:静态变量是在类中定义的变量,它不属于任何实例,可以通过类名.变量名来访问。静态变量和类变量类似,但是它一般用来定义常量或者类级别的状态。

举例:定义一个电脑类,电脑有自己的品牌和价格,价格是静态变量,所有电脑的价格都相同。

class Computer:
    brand = "Lenovo"
    price = 5000

computer1 = Computer()
computer2 = Computer()

print(Computer.brand)  # 输出 Lenovo
print(computer1.brand)  # 输出 Lenovo
print(computer2.brand)  # 输出 Lenovo

print(Computer.price)  # 输出 5000
print(computer1.price)  # 输出 5000
print(computer2.price)  # 输出 5000
python 类的实例变量、类变量、私有变量、静态变量的区别举例说明

原文地址: http://www.cveoy.top/t/topic/X2C 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录