2、类变量
说明:在类空间或通过类引用赋值的变量
class User:
# 类变量(类空间定义的变量)
category = '未知类型'
# 类变量(通过类引用赋值的变量)
User.type = '普通用户'
1)调用类变量
(1)通过类调用类变量
说明:通过类可以获取和改变类变量的值
class User:
category = '未知类型'
print(User.category) # 通过类获取类变量
print('-'*30)
User.category = '改变后的类型' # 通过类更改类变量
print(User.category)
未知类型
------------------------------
改变后的类型
(2)通过对象调用类变量
说明:通过对象只可以获取类变量的值。
class User:
category = '未知类型'
u = User()
# 当对象本身没有 category 实例变量时,对象可以访问到该类变量
print(u.category)
未知类型
注意:通过对象对变量赋值为新增实例变量,并非类变量。
class User:
category = '未知类型'
u = User()
u.category = '实例变量' # 通过对象对变量赋值为新增实例变量
print(u.category) # 当对象本身有 category 实例变量时,对象有限访问实例变量
print('-'*30)
print(User.category) # 类变量
2)操作类变量
说明:Python 类的类变量可动态增加或删除(Python的动态性)
- 在类体为新变量赋值就是增加类变量
- del 删除类变量
class Item:
# 类变量
itemtype = '电子产品'
itemcolor = '未知'
print('种类:', Item.itemtype)
print('颜色:', Item.itemcolor)
print('-'*30)
Item.price = 100 # 增加新的类变量
print('价钱:', Item.price)
del Item.price # 删除类变量
种类: 电子产品
颜色: 未知
------------------------------
价钱: 100