四时宝库

程序员的知识宝库

通过示例揭开 Python 类变量和实例变量的神秘面纱

Python 为面向对象编程 (OOP) 提供了一组丰富的功能。Python 中 OOP 的两个基本方面是类变量和实例变量。了解这些变量的差异和用法对于编写干净高效的 Python 代码至关重要。在本文中,我们将探讨 Python 的类变量和实例变量,并通过示例来说明它们的使用方法。

Python 类变量

类变量,在某些编程语言中也称为静态变量,在类的所有实例之间共享。这些变量在类中实例和方法之外定义。它们存储整个类共有的数据。

class Teacher:
    #变量
    School = '北京大学'    
    def __init__(self, name, age, profession):
        self.name = name
        self.age = age
        self.profession = profession
#创建对象        
li = Teacher('李老师', '30', '语文')
wu = Teacher('吴老师', '33', '数学')
#调用
print('学校:', li.School)
print('学校:', wu.School)

输出:

学校: 北京大学
学校: 北京大学

在此示例中,“School”变量是一个类变量,由“Teacher”类的所有实例共享。

Python 实例变量

实例变量对于类的每个实例都是唯一的。它们在类的构造函数“__init__”中定义,并存储因实例而异的数据。

class Teacher:
    def __init__(self, name, age, profession):
        self.name = name # 实例变量
        self.age = age  # 实例变量
#创建对象        
li = Teacher('李老师', '30', '语文')
wu = Teacher('吴老师', '33', '数学')
#调用
print(li.name)
print(wu.age)

输出:

李老师
33

在这种情况下,每个 Teacher 实例都有自己的 “name” 和 “age” 实例变量,允许我们存储和访问每个 Teacher 对象的唯一信息。

类变量和实例变量的区别

「作用域」

  • 类变量在类的所有实例之间共享。
  • 实例变量对于类的每个实例都是唯一的。

「修改」

  • 类变量可以通过类本身或任何实例进行修改。更改会影响所有实例。
  • 实例变量特定于它们所属的实例。更改不会影响其他实例。

「用法」

  • 类变量可用于存储所有实例通用的信息,例如常量或配置设置。
  • 实例变量用于存储因实例而异的数据,表示每个对象的独特特征。

Python 类变量和实例变量是面向对象编程(OOP)的重要组成部分。类变量存储所有实例之间共享的数据,而实例变量存储每个实例唯一的数据。了解何时使用类变量和实例变量对于编写可维护且高效的 Python 代码至关重要。

文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接