类
class 类名(object):
class 类名:
对象
对象 = 类名()
对象 = 类名(实参1)
传递的参数去哪里的
答:
去了类中的init方法
类属性
class Tool:
name = "工具类"
对象属性
对象属性的赋值
格式是:
对象.属性 = 值
如果对象己经拥了这个属性
我们再次使用
对象.属性 = 值
那就修改数据
下面的描述是给对象添加属性的过程
一般在类的内部使用self. 属性 = 值
这种方式给对象添加属性
第一种,在类的里面,通过self.属性 = 值 这种方式定义的是对象属性
class Tool:
def add_attr(self):
self.name = "菜单"
cd = Tool() # 生成了一个对象,但这个对象没有属性
cd.add_attr() # 完成了这个方法,对象会获得一个name属性,值为"菜刀"
第二种,在类的外部,通过 对象名.属性 = 值
,这种方式也是定义对象的属性
class Tool:
pass
cd = Tool()
cd.name = "菜刀" 对象会获得一个name属性,值为"菜刀"
类方法
- 装饰器 @classmethod
- 类方法中的cls,就是类,可以使用它来代替类名
@classmethod
def fun(cls):
pass
class Tool:
count = 0
@classmethod
def fun(cls):
cls.count += 1
print(cls)
@classmethod
def fun2(cls):
cls.fun()
Tool.fun()
类方法的使用
类方法总的使用方法
类名.类方法名()
在类的外部通过
类名.类方法名()
在类方法的内部
cls.类方法名()
实例方法
在类的内部定义的方法,通常都是实例方法
除了静态方法,类方法外,基本上最普遍使用的就是实例方法
定义实例方法的参数中,第一个形参,代表的是对象本身
定义
在内中,定义一个普通方法
def 方法名(形参1):
调用
对象.方法名()
实例对象 = 类()
实例对象的方法,就是实例方法
class Cat:
def run(self):
print('在跑')
tom = Cat()
# 对象.方法名()
tom.run()
静态方法
- 装饰器 @staticmethod
- 静态方法可以不接收任何参数
- 如果方法不需要使用到类与对象的相关属性方法,我们把它定义为静态方法
静态方法和函数没多大区别
class Tool:
@staticmethod
def fun():
print('静态方法')
静态方法的调用
类名.静态方法名()
Tool.fun()