标签:not 字符 实例 广度 鸭子类型 code 风格 icm 产生
对象是特征与技能的结合体
类是一系列对象相同的特征和技能的结合体
首先定义类,后调用类创造对象
定义类的语法
class 类名:
对象相同的特征
对象相同的技能
class 用来定义类的,class后跟类名
注意:类名必须要遵循驼峰命名法
在定义类发生的事情
类在定义时,会产生一个空的名称空间
会把类内部所有名字,扔进类的名称空间
注意: 类在定义阶段就已经产生好了名称空间
执行python文件时会执行类内部的代码
类名会指向类的名称空间
类“.”特征或技能的方式对类内部的变量值进行修改
“.”会指向类内部的名称空间,从而获取变量值
增、删、改、查
? 类名() 调用类产生对象
__init__魔法函数在调用类时,自动触发该函数
self.name = x
stu1.age = 10
__dict__
类内部函数主要是给对象用的
? 普通函数需要接收几个参数就得传入几个参数
由对象来调用称之为绑定方法
不同对象调用该绑定方法,则会将不同的对象传入该绑定方法中
继承是一系列类相同特征和技能
继承父类的属性和方法
__bases__查找当前父类
问题复杂不好分析时先抽象再继承
注意: 对象查找属性,若子类由,不管父类有没有,以子类的为准
派生指的是子类继承父类的属性,并且派生出新的属性
子类派生出新的属性,若与父类的属性相同,则以子类的为准
新式类继承object
经典类没有继承object
mro()
查看当前类的继承顺序
在多继承的情况下
经典类 深度优先
新式类 广度优先
继承
类与类的关系,子类与父类的关系
组合
对象与对象的关系,一个对象拥有另外一个对象
在调用是时候不用加上括号来调用可用在if判断语句中
在使用不同类事物时候,使用的方法名称相同
所有子类都遵循父类的方式,使用abc模块,来定死方式
像多态一样工作,但是没有继承,关注对象的方法
由一堆相同方法的类,对类的功能抽象化后使用一个定义函数然后统一调用
由__开头的变量或者函数变为__类名_变量名
非绑定方法
可以装饰类内部的方法,使该方法即不绑定给对象,也不绑定给类,变为一个普通函数
一个加密模块,uuid4随机数字,uuid1基于时间戳
对象的属性,获取该对象当前的类
判读参数1是否属于参数2的一个实例
判断参数1是否是参数2的子类
通过字符串对对象或类的属性进行验证或操作
判断字符串是否是对象或类的属性
获取对象或类的属性
设置对象或类的属性
删除对象或类的属性
__init__ 在调用类的时候触发
__str__ 会在打印对象的时候会触发
__del__对象被销毁前执行该方法,该方法会在最后执行
__getattr__ 会在对象.属性时候,属性没有的情况下才触发
__setattr__ 会在 “对象.属性 = 属性值 “时触发
__call__ 会在对象被调用的时候触发
__new__ 会在__init__ 执行前执行
class File:
__instance = None
@classmethod
def singleto(cls,file_name):
if not cls.__instance:
obj = cls(file_name)
cls.__instance = obj
return cls.__instance
标签:not 字符 实例 广度 鸭子类型 code 风格 icm 产生
原文地址:https://www.cnblogs.com/kaizi111/p/11669245.html