五、Python面向对象 之 2、类变量

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

猜你喜欢

转载自blog.csdn.net/qq_36512295/article/details/94547252
今日推荐