python中魔术方法简述
admin
2023-07-19 13:02:07
0

魔术方法:***
python中魔术方法简述
实例化:
new :
实例化一个对象 方法很少使用,一般使用return super().))new(cls)基类ibject方法来创建实例并返回。

hash:
返回一个整数,如果定义这个方法该类的实例就可hash。
eq:
对应==操作符,判断2个对象是否相等,返回bool值。
hash方法只是返回一个hash值作为set的key,但是去重,还需要eq来判断2个对象是否相等。只是hash冲突,不能说明两个对象是相等的。因此,一般来说提供hash方法是为了作为set或者dict的key,所以去重要同时提供eq方法。
如果一个类不能hash,就把hash设置为None。

bool

python中魔术方法简述

可视化:
python中魔术方法简述

运算符重载:
python中魔术方法简述
python中魔术方法简述

容器相关方法:

python中魔术方法简述
python中魔术方法简述

可调用对象:
python中一切皆对象,函数也不例外。
call类中定义一个该方法,实例就可以像函数一样被调用。
python中魔术方法简述

上下文管理:
python中魔术方法简述

实例化对象时,并不会调用enter进入with语句块调用enter方法,然后执行语句块,最后离开时,调用exit方法。
enter方法返回值就是上下文中使用的对象,with语法会把它的返回值赋予as字句的变量。
python中魔术方法简述
python中魔术方法简述

反射:
运行时,区别于编译时,指的是程序被加载到内存中执行的时候。
reflection,指的是运行时获取类型定义信息。
简单说,再Python中,能够通过一个对象,找出其type,class,attribute,method的能力。
具有反射能力的函数有:type(),isinstance(),callable(),dir(),getattr()
python中魔术方法简述
python中魔术方法简述
python中魔术方法简述
python中魔术方法简述

delattr():
可以阻止通过实例删除属性的操作,但是通过类依然可以删除属性。

getattribute:
除非明确知道用该方法做什么,不然少用。
python中魔术方法简述

描述器 Descriptors:
所用魔术方法:get(),set(),delete()
python中魔术方法简述
python中魔术方法简述

x= A()时,A已经产生了实例,则init已运行。
python中魔术方法简述

运行结果来看,只有类属性是类的实例才行。
python中魔术方法简述

相关内容

热门资讯

刚宣布“免费开放”,特朗普又要... 【文/观察者网 柳白】美国总统特朗普一边宣布霍尔木兹海峡“完全开放”,且无需缴纳通行费,而另一边大量...
专家:“美国治下的和平”已经结... 据凤凰卫视报道,美国尚未完全摆脱战争泥潭,但特朗普政府的战略重心转移已对其全球领导力产生深远影响。清...
经济热点快评|前5月经济成绩单... 韩鑫生产供给稳中有升、就业物价总体稳定,外贸韧性持续彰显……6月16日,前5月中国经济成绩单显示:今...
省研究型医院学会信息化与互联网... 6月12日-13日,山东省研究型医院学会信息化与互联网医疗分会第五届学术会议在滕州召开。滕州市中心人...
拒绝境外美元资本入局,我要为梁... 李光满冰点时评1523 前段时间,宇树科技选择与人形机器人领域的英伟达深度合作,在业内引发争议。我当...
场景牵引,让数据更好赋能智慧应... 人工智能加速走向千行百业,数据的价值也正在被重新定义。 从大模型训练到智能体应用,从服务业提效到品牌...
连续3次误判误传、延报未报,“... 澎湃新闻记者 吕新文福建宁德市海洋与渔业局6月16日公布《宁德福鼎“2·18”“闽福鼎渔08566”...
学者:美国已经铁了心,不会再为... 美伊将于瑞士签署停战谅解备忘录,但以色列仍持续袭击黎巴嫩真主党。中国人民大学区域国别研究院中东研究所...
场上“进球机器”,场下抖音“哈... ·2025年6月,哈兰德在国际足联2026年世界杯预选赛中,庆祝挪威队以3比0战胜意大利队。(法新社...
网红狗“锄头”之死 在爱狗“锄头”被盗的第25天,郭义收到了立案通知书。郭义是一名自媒体博主,锄头则是一只陪伴了他8年的...