对象 方法
对象
创建
支持多继承,继承的父类可以是多个,不写默认继承object
class 类名(父类):
'''说明文档'''
pass
d = 类名()
d.run() # 直接用类继承的父类的方法
私有化
- 模块私有化,在导包时不被导走
在属性或方法前加一个下划线_就ok
- 完全私有化,只能自己访问,在方法或属性前加下划线__
是一个假私有化,其实是在内存中改个名字,可以访问,用_类名.__属性/方法来访问,但不建议用
方法
与函数不同,函数是可以直接调用,方法只能依靠类或对象来调用
方法又分为:
- 静态方法:与函数一样,与类和对象无关
@staticmethod # -->通过这个实现
def f()
- 类方法:第一个参数cls,指类本身
@classmethod # -->通过这个实现
def f()
- 实例方法:第一个参数self,调用时需传递实例给self
def f(self,age,name):
self.age = age
self.name = name
魔法方法
python已包含,被下划线包围
常用
| 方法 | 解释 | eg |
|---|---|---|
| __ new __(cls [,...]): | 可用于单例模式,创建实例时首先调用的方法(构造方法) | |
| __ init __(self [,...]): | 对象初始化方法 | |
| __ del __(self): | 销毁时调用 | del(A) |
| __ len __(self): | ||
| __ bool __(self): | ||
| __ str __(self): | 用于将值转化为人阅读的形式 | |
| __ repr __(self): | 解释器 | |
| __ getattr __(self,name): | 可以在此方法中定义,当用户试图获取一个不存在的属性该怎么执行 | 可在此方法中定义 print("该属性不存在") |
| __ setattr __(self,name,value): | 当一个属性被设置时的行为 | |
| __ getattribute __(self,name): | 当一个属性被访问时的行为,属性访问拦截器(封装) | 若不想被访问到:print("无法访问") return... |

浙公网安备 33010602011771号