__new__构造方法】的更多相关文章

""" 对象的创建过程:new创建 返回 模拟实例对象的创建过程. 为啥是静态方法? 先有new后来init.因为init是需要实例对象来调用的,需要一个实例对象和self形参.所以需要new首先来创建一个实例对象. """ class Dog: pass dog1 = Dog() """ 类名()内部隐藏了两个魔法方法的自动调用 1.__new__:创建并返回一个新的实例对象.魔法方法,自动调用,自动传参(Pyth…
 元类 创造 类  所有类的type 都是他的元类 类创造 对象   具体创造对象的方法 __new__方法 class 类名(classmata = type)#默认是 class 类名(classmeta =元类名) 一.__del__方法 # 构造方法 创建一个对象的 # 初始化方法 __init__ 给已经创建出来的对象添加属性 # 析构方法 删除一个对象的时候调用的方法 import time class A: def __init__(self): self.f = open('us…
item系列 dic = {'k':'v'}# 对象 : 存储属性 和调用方法dic['k'] = 'v'# class Foo:#     def __init__(self,name,age,sex):#         self.name = name#         self.age = age#         self.sex = sex##     def __getitem__(self, item):#         if hasattr(self,item):#     …
  面向对象的进阶(item系列,__new__,__hash__,__eq__) 一.item系列 getitem.setitem.delitem(操作过程达到的结果其实就是增删改查) class Foo: def __init__(self, name, age, sex): self.name = name self.age = age self.sex = sex def __getitem__(self, item): # 与f['xx']形式对应 if hasattr(self, i…
面向对象进阶 一.关于面向对象的两个内置函数 isinstance   判断类与对象的关系    isinstance(obj,cls)检查obj是否是类 cls 的对象,返回值是bool值 issubclass     判断类与类的关系             issubclass(sub, super)检查sub类是否是 super 类的派生类,返回值是bool值 class A: pass class B(A): pass a = A() print(isinstance(a,A)) pr…
1.嵌套 类/方法/对象都可以当做变量或嵌套到其他类型中. 函数的参数可以是任意类型. 可哈希(不可变)数据类型可以做字典的key. 类和对象可以做字典的key. 2.特殊方法(8) __init__ #初始化方法: 用于给对象赋值 class Foo: """ 类是干啥的.... """ def __init__(self,a1): """ 初始化方法 :param a1: """ s…
今日摘要 今天主要整理一下这俩天学习的内容,面向对象也快学完了,深刻的认识到面向对象就是一个思想,怎么把思想理解了,其他也就不是什么事了 1.类的约束 2.类的类方法与静态方法 3.类的反射 4.类的内置方法以及双下方法 开始今日份总结 1.类的约束 类的约束,就是对类进行一些正确的引导,约束,统一规范,满足正确的开发方式 1.1类的约束的第一种方式 class A: def pay(self,money):#规定都必须有pay方法 raise Exception('未定义指定函数') clas…
摘要:__new__ __del__ __call__ __len__ __eq__ __hash__ import json 序列化模块 import pickle 序列化模块 补充: 现在我们都应该知道一个对象的类型(type)就是创建这个对象的类, 而类也是被创建出来的,那么类的类型(type)也是创建这个类的类型, 创建类的是type元类,所以没有指定mateclass的类的type就是type, 指定了mateclass的类的type就是指定的mateclass的值. 例如: from…
1,继续上一小节,讲解双下内置方法,双下getitem,setitem,delitem方法,是对象可以像字典一样的来访问属性 # 普通的字典是像下面这样操作的 dic = {'k' : 'v'} dic['k'] = 'v' class Foo: def __init__(self,name,age,sex): self.name = name self.age = age self.sex =sex def __getitem__(self, item): if hasattr(self,it…
s21day21 python笔记 一.内容回顾及补充 内置函数补充 type():查看数据类型 class Foo: pass obj = Foo() if type(obj) == Foo: print('obj是Foo类的对象') issubclass(类,类或其基类):判断前一个类是否是后一个类或其基类的子类 结果是布尔类型,是 -> True,否 -> False class Base: pass class Base1(Base): pass class Foo(Base1): p…