首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
1、__del__ 2、item系列 3、__hash__ 4、__eq__
】的更多相关文章
python 全栈开发,Day24(复习,__str__和__repr__,__format__,__call__,__eq__,__del__,__new__,item系列)
反射: 使用字符串数据类型的变量名来使用变量 wwwh即what,where,why,how 这4点是一种学习方法 反射 :使用字符串数据类型的变量名来使用变量 1.文件中存储的都是字符串 2.网络上能传递的也最接近字符串 3.用户输入的也是字符串 上面的3种情况都是字符串,如果有这种情况的,需要操作类或者模块时,就需要用到反射 有4种应用 类调用静态属性对象调用属性 和 方法模块调用模块中的名字调用自己模块中的名字 a = 1 import sys b = getattr(sys.modul…
python全栈开发day24-__new__、__del__、item系列、异常处理
一.昨日内容回顾 1.反射 用字符串类型的名字,操作命名空间的变量. 反射使用场景:明显的简化代码,能拿到的变量名本来就是一个字符串类型的时候, 用户输入的,文件读入的,网上传输的 2.__call__ 对象名() 就会调用__call__方法 3.__len__ 4.__hash__ 5.__eq__ 6.__dict__ 对象名.__dict__:查看对象空间的变量的变量, 类名.__dict__ 类空间 7.__slots__ #__slots__ = ('name','age') 8._…
1、__del__ 2、item系列 3、__hash__ 4、__eq__
1.__del__ 析构方法 释放一个空间之前之前 垃圾回收机制 2.item系列 和对象使用[ ]访问值有联系 __getitem__ __setitem__ __delitem__ 3.__hash__ 底层数据结构基于hash值寻址的优化操作 hash是一个算法 能够把某一个要存在内存里的值通过一系列计算,保证不同值的hash结果是不一样的 字典的寻址-----hash算法 set集合也是运用了hash算法 先调用hash,再调用eq,eq不是每次都触发.只…
__del__,item系列 ,hash方法,__eq__,
# 构造方法 申请一个空间# 析构方法 释放一个空间 # 某个对象借用了操作系统的资源,还要通过析构方法归还回去:文件资源 网络资源 # 垃圾回收机制 class A: def __del__(self): #构析方法 del A的对象会自动出发这个方法 print('哈哈哈哈')a=A()del aprint(a) # 处理文件的class File(): def __init__(self,file_path): self.f=open(file_path) self.name='alex'…
面向对象进阶-item系列、__new__、__hash__、__eq__ (四)
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系列,__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…
day7--面向对象进阶(内含反射和item系列)
一面向对象的结构和成员 1.1面向对象的结构 class A: company_name = '老男孩教育' # 静态变量(静态字段) __iphone = '1353333xxxx' # 私有静态变量(私有静态字段) def __init__(self,name,age): #普通方法(构造方法) self.name = name #对象属性(普通字段) self.__age = age # 私有对象属性(私有普通字段) def func1(self): # 普通方法 pass def __f…
python面向对象( item系列,__enter__ 和__exit__,__call__方法,元类)
python面向对象进阶(下) item系列 __slots__方法 __next__ 和 __iter__实现迭代器 析构函数 上下文管理协议 元类一.item系列 把对象操作属性模拟成字典的格式. 例如:对象名['key'] = value class Foo: def __init__(self,name): self.name = name def __getitem__(self, item): return self.__dict__[item] def __setitem_…
面向对象 反射 和item系列和内置函数和__getattr__和__setattr__
反射 反射主要用在网络编程中, python面向对象的反射:通过字符串的形式操作对象相关的属性.python的一切事物都是对象. 反射就是通过字符串的形式,导入模块:通过字符串的形式,去模块寻找指定函数,并执行.利用字符串的形式去对象(模块)中操作(查找/获取/删除/添加)成员,一种基于字符串的事件驱动! getattr() 查找getattr(object,name[,default]):使用字符串数据类型获取对象的方法和属性,注意name是字符串,如果存在则返回,不存在则打印出默认值,默认值…
Python概念-Item系列(林海峰教的)
这个Item系列是egon老师自创的,个人还是可以接受这种文化底蕴的,所以直接拿来用,也是毫无违和感的 所谓Attr系列,其实是__setattr__,__delattr__,__getattr__ 三个函数,从名字中可以看出来这是一套设置,删除,查询的函数,那我们来一个一个的看: __setitem__(self,key,value):当对类中的某个属性进行"赋值"时触发的函数(只有使用字典赋值的方式时才会触发此方法的执行) 与Attr系列的区分:__setattr__(self):…