上海高端网站建设公司哪家好企业微信app开发
类对象和实例对象
类对象就是我们定义的类。
 在代码执行的时候,解释器会自动创建类对象。
 类对象的作用:
 1 使用类对象创建实例对象
 2 存储类的一些特性,就是类里面定义的属性
 创建对象的过程也称为实例化的对象。所以,类创建的对象也称为实例对象,简称实例。
 一般我们说的对象,默认就是实例对象。而类对象,默认说是类。
实例属性和类属性注意事项
1类属性是在类的内部直接定义的,类属性是被该类的所有实例化对象共享的。
 2实例的属性是每个对象特有的,通常是在类的init方法中设置的。 类属性很少使用。
 3 实例对象使用属性的时候,会先在实例属性中查找,找不到再去类属性中查找,再找不到会报错。
 4 在类中访问类属性,要用类名.属性名 获取
 代码示例:
class Tool:num = 0def __init__(self, name):self.name = nameTool.num += 1tool1 = Tool('t1')
tool2 = Tool('t2')
print(tool1.name, tool1.num) 
方法分类
方法分为实例方法,类方法,静态方法
 1 实例方法:
 如果方法中需要使用实例属性,一定要定义为实例方法。
 2 类方法
 方法中不需要使用实例属性,建议定义为类方法。语法:方法上写@classmethod,方法的参数写为cls,表示类对象。不需要传递,python会自动传类作为参数。
 3 静态方法:
 方法中既不需要实例属性,也不需要类属性,可以定义为静态方法。
 语法:@staticmethod
 注意:
 实例和类都可以直接调用类方法和静态方法
 代码示例:
class Tool:num = 0def __init__(self, name):self.name = name# 类方法@classmethoddef add(cls):cls.num += 1print(cls.num)# 静态方法@staticmethoddef staticFn():print('static')# 实例方法def showName(self):print(self.name)tool1 = Tool('t1')
tool1.showName()  # t1
tool1.staticFn()  # static
tool1.add()  # 1
Tool.add()  # 2
Tool.staticFn()  # static
