在 Python 中,万物都是对象——这门惹人喜爱的编程语言通过一套极其精简的语法规则定义类(Class),实现对于面向对象编程的支持。而在这些为了支持面向对象编程而引入的诸多概念中,最容易引起混淆的当属类属性(Class Attribute)。许多程序员对于 Python 的语言细节理解不到位,容易误用类属性并导致错误发生。
本文深入讨论 Python 中与类属性相关的一些问题,并主要参考自 Charles Marsh 撰写的《Python Class Attributes: An Overly Thorough Guide》一文。阅读本文需要有基本的面向对象编程(Object-oriented programming,OOP)的相关知识。