本博问源于python面向对象,在获取类属性时,一般我们会直接用类.类属性去打印,但是python中对象.类属性也可以.
如果不熟悉类属性可以查看这个:
python面向对象什么时候使用类属性
class Tool(object):
count = 0 # count就是一个类属性
def __init__(self,name):
self.name = name
Tool.count += 1
tool1 = Tool('斧头1')
tool2 = Tool('斧头1')
tool3 = Tool('斧头1')
tool4 = Tool('斧头1')
print(Tool.count)
本段代码浅显易懂的表明类.类属性的调用过程,count就是一个类属性.
改动上面一行代码,就成了下面的代码。把Tool改为实例化,比如tool1
class Tool(object):
count = 0 # count就是一个类属性
def __init__(self,name):
self.name = name
Tool.count += 1
tool1 = Tool('斧头1')
tool2 = Tool('斧头1')
tool3 = Tool('斧头1')
tool4 = Tool('斧头1')
print(tool1.count)
在我们使用过程中,我们要避免使用第二种,因为这种代码产生混淆。比如下面这段代码,超短精简介绍
class Tool(object):
count = 0 # count就是一个类属性
def __init__(self,name):
self.name = name
Tool.count += 1
tool1 = Tool('斧头1')
tool2 = Tool('斧头1')
tool3 = Tool('斧头1')
tool4 = Tool('斧头1')
tool1.count = 99
print(tool1.count)
print(Tool.count)