摘要:
1、引子(类也是对象) exec:三个参数 参数一:字符串形式的命令 参数二:全局作用域(字典形式),如果不指定,默认就是用全局 globals() 参数三:局部作用域(字典形式),如果不指定,默认就是用局部 locals() exec会在指定的局部作用域内执行字符串内的代码,除非明确地使用glob 阅读全文
摘要:
1、attr 系列 class foo: def __init__(self,NAME): self.name=NAME def __setattr__(self, key, value): # 作用:可以对 value 进行类型限制 if not isinstance(value,str): # 阅读全文
摘要:
1、引子:isinstance(obj,cls)和issubclass(sub,super)isinstance(obj,cls)检查是否obj是否是类 cls 的对象class Foo: passobj = Foo()print(isinstance(obj,Foo))issubclass(sub, super)检查sub类是否是 super 类的派生类class Foo: pass... 阅读全文
摘要:
类中定义的函数分成两大类 1、绑定方法(绑定给谁,谁来调用就自动将它本身当作第一个参数传入) 1. 绑定到类的方法:用classmethod装饰器装饰的方法。 为类量身定制 类.boud_method(),自动将类当作第一个参数传入 (其实对象也可调用,但仍将类当作第一个参数传入) 2. 绑定到对象 阅读全文
摘要:
1、新式类 在 py3 里面的继承 object 的类,以及它的子类都是新式类 多继承的情况下,会按照广度优先的方式查找 为什么调用父类 class A: # 默认继承 object类 def __init__(self): print("enter A") print("leave A") cla 阅读全文
摘要:
1、为什么要封装 封装不是单纯意义的隐藏 1:封装数据:主要原因是:保护私隐,明确区分内外。将数据隐藏起来这不是目的。隐藏起来然后对外提供操作该数据的接口,然后我们可以在接口附加上对该数据操作的限制,以此完成对数据属性操作的严格控制。 class Teacher: def __init__(self 阅读全文
摘要:
什么是多态?多态指的是一类事物有多种形态动物有多种形态:人,狗,猪多态:指的是定义角度多态性:指的是使用角度import abc# 多态:同一种事物的多种形态,动物分为:猪类,人类class Animal(metaclass=abc.ABCMeta): @abc.abstractmethod # 子类必须继承 def run(self): passclass pi... 阅读全文
摘要:
继承 多态 封装 阅读全文
摘要:
1、什么是继承? 继承指的是类与类之间的关系,是一种什么是什么的关系,功能之一就是用来解决代码重用问题 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类,继承又fenwei单继承和多继承 class ParentClass1 阅读全文
摘要:
1、面向过程的编程思想: 流水线式的编程思想,在设计程序时,需要把整个流程设计出来 优点: 1:体系结构更加清晰,2:简化程序的复杂度 缺点: 1:可扩展性极其的差,所以说面向过程的应用场景是:不需要经常变化的软件,如:linux内核,httpd,git等软件 2、面向对象的编程思想 优点:解决了程 阅读全文