07 2019 档案
摘要:# 1. __new__:构造方法,它创造对象,程序员口头语:new一个对象。先执行__new__方法再执行___init__方法。 class Goods: def __init__(self):#如果self后面带有参数,那么下面的cls后面需要加上*args,**kwargs print('i
阅读全文
摘要:#使用双下item方法来实现属性的增删改查: # 查:__getitem__ 增改:__setitem__ 删除: __delitem__ class Goods: def __init__(self,name): self.name = name #{'name':'apple'},self.__dict__[key] = value, ...
阅读全文
摘要:#反射最常用的两个方法:hasattr getattr # 1. 反射对象属性,反射对象方法: class Goods: def __init__(self,name): self.name = name def price(self): print('{}的价格是8元'.format(self.name)) apple = Goods('appl...
阅读全文
摘要:# 一: class P: __age = 30 #私有静态属性 def __init__(self,name): self.__name = name #私有属性:属性名前面加上双下划线是私有属性。 def get_name(self): return self.__name def __func(self): #私...
阅读全文
摘要:#解决同一类问题,使用面向对象的思想。类是制造对象的模具,类是抽象的,我们能知道它有哪些属性(name,age,saraly),但不知道具体的属性值。 #看下面代码:类Penson制造了实例化对象ret,它有具体的属性值。 # 一、 class Penson: #类名首字母大写。这里Penson或P
阅读全文
摘要:# 一、接口类的作用是规范它的子类,跟后面学习的接口没关系。 from abc import abstractmethod,ABCMeta class Pay(metaclass=ABCMeta): #metaclass是元类。 @abstractmethod def pay(self):pass #pass意思是没代码。 #接口类:规范后面的子类,当子类没有pay方法...
阅读全文
摘要:#面向对象的三大特征:继承、多态、封装。 #一、单继承: # 1. class Animal: #没有父类,默认继承了顶级父类object类。 def __init__(self,name,aggr,hp): self.name = name self.aggr = aggr self.hp = hp class Person(Anima...
阅读全文