__init__:当实例化一个类的时候,首相会执行__new__方法创建一个对象,接下来会执行__init__方法对对象的一些属性进行初始化. 所以如果对象有属性,一般会直接写在__init__方法里面: class Test: def __init__(self, a, b): self.a = a self.b = b test = Test(a, b) __str__:当实例化一个类之后,就有了一个对象的引用,如 test = Test() 这个时候如果直接print(test),输出的是…
1. python中的魔法方法, 类似__init__, __str__等等,这些内置好的特定的方法进行特定的操作时会自动被调用 2. __init__的使用方法 class 类名(object):    def __init__(self):        print("hhahhah")对象1 = 类名() 打印结果:hhahhah 说明init的方法实例化对象的时候会自动初始化调用 3. __str__的使用方法 class 类名(object):    def __str__(…
__new__ : 这个方法的作用主要是创建一个实例,在创建实例时首先会调用 __new__方法 ,然后调用__init__对实例进行初始化, 如果想修改 __new__ 这个方法,那么最后要 return 调用一下父类的 __new__ 方法,因为里面有创建实例的过程,除非你在自定义的 __new__ 方法中自己实现了创建实例的过程: class Test(object): def __new__(cls, *args, **kwargs): # 第一个参数传进去的是当前类 如果创建实例需要参…
1.继承,调用父类属性方法 在python里面,继承一个类只需要这样写: class Animal: def heshui(self): print('动物正在喝水') class Cat(Animal): pass 这样Cat就有了Animal的所有属性和方法,调用的时候直接调用就可以了: #接上面代码 cat = Cat() cat.heshui() >>>动物正在喝水 这个时候,如果子类想重写父类的方法,可以直接重写: class Animal: def heshui(self):…
实例在创建出来之后,可以动态的添加属性和方法, 那如果想要限制添加的实例属性,可以用一下 __slots__ 这个东西: class Test(object): __slots__ = ('name', 'age') # 用元组保存 t = Test() t.name = 'tt' t.age = t.addr = 'shanghai' >>>t.addr = 'shanghai' AttributeError: 'Test' object has no attribute 'addr'…
类属性  定义在类里面,方法外面的属性,一般属于这个类,如下面的 num 就是类属性: class Test: num = 类属性用 实例.类属性   或者 类.类属性 都可以访问, 如 a = Test()  用 a.num 可以访问 ,但是如果这个实例有一个实例属性 self.num 那么这样访问的其实是 self.num , 所以一般用 类.属性 即这样 Test.num 访问 类方法, 类方法是属于这个类的方法,定义方式为 前面加上装饰器 @classmethod 且第一个参数传递的是当…
定义类,添加和获取对象属性 # 定义类 格式如下 # class 类名: # 方法列表 # 新式类定义形式 # info 是一个实例方法,第一个参数一般是self,表示实例对象本身 class Hero(object): """info 是一个实例方法,类对象可以调用实例方法,实例方法的第一个参数一定是self""" def info(self): """当对象调用实例方法时,Python会自动将对象本身的引用做为参…
1.def__init__()方法: class Cat: """定义了一个Cat类""" #初始化对象 def __init__(self, new_name, new_age): self.name = new_name self.age = new_age #方法 def eat(self): print("猫在吃鱼....") def drink(self): print("猫正在喝kele.....&quo…
构造方法(参见小甲鱼入门教程) __ init__()方法:类的初始化方法,初始化类对象时被调用,需要的时候再调用它 注意点:这个方法的返回值必须是None class Rectangle(): def __init__(self,width,height): self.width =width self.height=height __ new __ ()方法:实际调调用在__ init __()之前.实例化对象时第一个被调用的方法.在新创建一个对象时调用,一般不会重写它,继承自不可变类型,才…
一 .内置函数补充 1.isinstance函数: isinstance(obj,cls)检查obj是否是类 cls 的对象 使用该函数来判断一个函数的类型 2. issubclass(sub, super)检查sub类是否是 super 类的派生类 class Foo(object): pass class Bar(Foo): pass issubclass(Bar, Foo) 二.反射 通过字符串来操作类与对象的属性,这种操作称为反射 class People: country="China…