【干货】Python的魔数方法一览表 | Python 主题月

简介: 【干货】Python的魔数方法一览表 | Python 主题月

基本的魔法方法


名称 解释
_new_(cls[, ...]) 在一个对象实例化的时候所调用的第一个方法
_init_(self[, ...]) 构造器,当一个实例被创建的时候调用的初始化方法
_del_(self) 析构器,当一个实例被销毁的时候调用的方法
_call_(self[, args...]) 允许一个类的实例像函数一样被调用:x(a, b) 调用 x.call(a, b)
_len_(self) 定义当被 len() 调用时的行为
_repr_(self) 定义当被 repr() 调用时的行为
_str_(self) 定义当被 str() 调用时的行为
_bytes_(self) 定义当被 bytes() 调用时的行为
_hash_(self) 定义当被 hash() 调用时的行为
_bool_(self) 定义当被 bool() 调用时的行为,应该返回 True 或 False
_format_(self, format_spec) 定义当被 format() 调用时的行为


有关属性


名称 解释
_getattr_(self, name) 定义当用户试图获取一个不存在的属性时的行为
_getattribute_(self, name) 定义当该类的属性被访问时的行为
_setattr_(self, name, value) 定义当一个属性被设置时的行为
_delattr_(self, name) 定义当一个属性被删除时的行为
_dir_(self) 定义当 dir() 被调用时的行为
_get_(self, instance, owner) 定义当描述符的值被取得时的行为
_set_(self, instance, value) 定义当描述符的值被改变时的行为
_delete_(self, instance) 定义当描述符的值被删除时的行为


比较操作符


名称 解释
_lt_(self, other) 定义小于号的行为:x < y 调用 x.lt(y)
_le_(self, other) 定义小于等于号的行为:x <= y 调用 x.le(y)
_eq_(self, other) 定义等于号的行为:x == y 调用 x.eq(y)
_ne_(self, other) 定义不等号的行为:x != y 调用 x.ne(y)
_gt_(self, other) 定义大于号的行为:x > y 调用 x.gt(y)
_ge_(self, other) 定义大于等于号的行为:x >= y 调用 x.ge(y)


|算数运算符



名称 解释
_add_(self, other) 定义加法的行为:+
_sub_(self, other) 定义减法的行为:-
_mul_(self, other) 定义乘法的行为:*
_truediv_(self, other) 定义真除法的行为:/
_floordiv_(self, other) 定义整数除法的行为://
_mod_(self, other) 定义取模算法的行为:%
_divmod_(self, other) 定义当被 divmod() 调用时的行为
_pow_(self, other[, modulo]) 定义当被 power() 调用或 ** 运算时的行为
_lshift_(self, other) 定义按位左移位的行为:<<
_rshift_(self, other) 定义按位右移位的行为:>>
_and_(self, other) 定义按位与操作的行为:&
_xor_(self, other) 定义按位异或操作的行为:^
_or_(self, other) 定义按位或操作的行为:


反运算


名称 解释
_radd_(self, other) (与上方相同,当左操作数不支持相应的操作时被调用)
_rsub_(self, other) (与上方相同,当左操作数不支持相应的操作时被调用)
_rmul_(self, other) (与上方相同,当左操作数不支持相应的操作时被调用)
_rtruediv_(self, other) (与上方相同,当左操作数不支持相应的操作时被调用)
_rfloordiv_(self, other) (与上方相同,当左操作数不支持相应的操作时被调用)
_rmod_(self, other) (与上方相同,当左操作数不支持相应的操作时被调用)
_rdivmod_(self, other) (与上方相同,当左操作数不支持相应的操作时被调用)
_rpow_(self, other) (与上方相同,当左操作数不支持相应的操作时被调用)
_rlshift_(self, other) (与上方相同,当左操作数不支持相应的操作时被调用)
_rrshift_(self, other) (与上方相同,当左操作数不支持相应的操作时被调用)
_rand_(self, other) (与上方相同,当左操作数不支持相应的操作时被调用)
_rxor_(self, other) (与上方相同,当左操作数不支持相应的操作时被调用)
_ror_(self, other) (与上方相同,当左操作数不支持相应的操作时被调用)


增量赋值运算


名称 解释
_iadd_(self, other) 定义赋值加法的行为:+=
_isub_(self, other) 定义赋值减法的行为:-=
_imul_(self, other) 定义赋值乘法的行为:*=
_itruediv_(self, other) 定义赋值真除法的行为:/=
_ifloordiv_(self, other) 定义赋值整数除法的行为://=
_imod_(self, other) 定义赋值取模算法的行为:%=
_ipow_(self, other[, modulo]) 定义赋值幂运算的行为:**=
_ilshift_(self, other) 定义赋值按位左移位的行为:<<=
_irshift_(self, other) 定义赋值按位右移位的行为:>>=
_iand_(self, other) 定义赋值按位与操作的行为:&=
_ixor_(self, other) 定义赋值按位异或操作的行为:^=
_ior_(self, other) 定义赋值按位或操作的行为:


一元操作符


名称 解释
_pos_(self) 定义正号的行为:+x
_neg_(self) 定义负号的行为:-x
_abs_(self) 定义当被 abs() 调用时的行为
_invert_(self) 定义按位求反的行为:~x


类型转换


名称 解释
_complex_(self) 定义当被 complex() 调用时的行为(需要返回恰当的值)
_int_(self) 定义当被 int() 调用时的行为(需要返回恰当的值)
_float_(self) 定义当被 float() 调用时的行为(需要返回恰当的值)
_round_(self[, n]) 定义当被 round() 调用时的行为(需要返回恰当的值)
_index_(self) 1. 当对象是被应用在切片表达式中时,实现整形强制转换 2. 如果你定义了一个可能在切片时用到的定制的数值型,你应该定义 index 3. 如果 index 被定义,则 int 也需要被定义,且返回相同的值


上下文管理(with 语句)


名称 解释
_enter_(self) 1. 定义当使用 with 语句时的初始化行为 2. enter 的返回值被 with 语句的目标或者 as 后的名字绑定
_exit_(self, exc_type, exc_value, traceback) 1. 定义当一个代码块被执行或者终止后上下文管理器应该做什么 2. 一般被用来处理异常,清除工作或者做一些代码块执行完毕之后的日常工作


容器类型


名称 解释
_len_(self) 定义当被 len() 调用时的行为(返回容器中元素的个数)
_getitem_(self, key) 定义获取容器中指定元素的行为,相当于 self[key]
_setitem_(self, key, value) 定义设置容器中指定元素的行为,相当于 self[key] = value
_delitem_(self, key) 定义删除容器中指定元素的行为,相当于 del self[key]
_iter_(self) 定义当迭代容器中的元素的行为
_reversed_(self) 定义当被 reversed() 调用时的行为
_contains_(self, item) 定义当使用成员测试运算符(in 或 not in)时的行为
相关文章
|
12天前
|
JSON 数据可视化 API
Python 中调用 DeepSeek-R1 API的方法介绍,图文教程
本教程详细介绍了如何使用 Python 调用 DeepSeek 的 R1 大模型 API,适合编程新手。首先登录 DeepSeek 控制台获取 API Key,安装 Python 和 requests 库后,编写基础调用代码并运行。文末包含常见问题解答和更简单的可视化调用方法,建议收藏备用。 原文链接:[如何使用 Python 调用 DeepSeek-R1 API?](https://apifox.com/apiskills/how-to-call-the-deepseek-r1-api-using-python/)
|
3月前
|
机器学习/深度学习 Python
堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能
本文深入探讨了堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能。文章详细介绍了堆叠的实现步骤,包括数据准备、基础模型训练、新训练集构建及元学习器训练,并讨论了其优缺点。
168 3
|
29天前
|
人工智能 自然语言处理 算法
随机的暴力美学蒙特卡洛方法 | python小知识
蒙特卡洛方法是一种基于随机采样的计算算法,广泛应用于物理学、金融、工程等领域。它通过重复随机采样来解决复杂问题,尤其适用于难以用解析方法求解的情况。该方法起源于二战期间的曼哈顿计划,由斯坦尼斯拉夫·乌拉姆等人提出。核心思想是通过大量随机样本来近似真实结果,如估算π值的经典示例。蒙特卡洛树搜索(MCTS)是其高级应用,常用于游戏AI和决策优化。Python中可通过简单代码实现蒙特卡洛方法,展示其在文本生成等领域的潜力。随着计算能力提升,蒙特卡洛方法的应用范围不断扩大,成为处理不确定性和复杂系统的重要工具。
69 21
|
27天前
|
数据挖掘 数据处理 开发者
Python3 自定义排序详解:方法与示例
Python的排序功能强大且灵活,主要通过`sorted()`函数和列表的`sort()`方法实现。两者均支持`key`参数自定义排序规则。本文详细介绍了基础排序、按字符串长度或元组元素排序、降序排序、多条件排序及使用`lambda`表达式和`functools.cmp_to_key`进行复杂排序。通过示例展示了如何对简单数据类型、字典、类对象及复杂数据结构(如列车信息)进行排序。掌握这些技巧可以显著提升数据处理能力,为编程提供更强大的支持。
34 10
|
4月前
|
测试技术 API Python
【10月更文挑战第1天】python知识点100篇系列(13)-几种方法让你的电脑一直在工作
【10月更文挑战第1天】 本文介绍了如何通过Python自动操作鼠标或键盘使电脑保持活跃状态,避免自动息屏。提供了三种方法:1) 使用PyAutoGUI,通过安装pip工具并执行`pip install pyautogui`安装,利用`moveRel()`方法定时移动鼠标;2) 使用Pymouse,通过`pip install pyuserinput`安装,采用`move()`方法移动鼠标绝对位置;3) 使用PyKeyboard,同样需安装pyuserinput,模拟键盘操作。文中推荐使用PyAutoGUI,因其功能丰富且文档详尽。
|
2月前
|
安全
Python-打印99乘法表的两种方法
本文详细介绍了两种实现99乘法表的方法:使用`while`循环和`for`循环。每种方法都包括了步骤解析、代码演示及优缺点分析。文章旨在帮助编程初学者理解和掌握循环结构的应用,内容通俗易懂,适合编程新手阅读。博主表示欢迎读者反馈,共同进步。
|
3月前
|
算法 决策智能 Python
Python中解决TSP的方法
旅行商问题(TSP)是寻找最短路径,使旅行商能访问每个城市一次并返回起点的经典优化问题。本文介绍使用Python的`ortools`库解决TSP的方法,通过定义城市间的距离矩阵,调用库函数计算最优路径,并打印结果。此方法适用于小规模问题,对于大规模或特定需求,需深入了解算法原理及定制策略。
75 15
|
2月前
|
JSON 安全 API
Python调用API接口的方法
Python调用API接口的方法
417 5
WK
|
3月前
|
Python
Python中format_map()方法
在Python中,`format_map()`方法用于使用字典格式化字符串。它接受一个字典作为参数,用字典中的键值对替换字符串中的占位符。此方法适用于从字典动态获取值的场景,尤其在处理大量替换值时更为清晰和方便。
WK
148 36
|
3月前
|
机器学习/深度学习 人工智能 算法
强化学习在游戏AI中的应用,从基本原理、优势、应用场景到具体实现方法,以及Python在其中的作用
本文探讨了强化学习在游戏AI中的应用,从基本原理、优势、应用场景到具体实现方法,以及Python在其中的作用,通过案例分析展示了其潜力,并讨论了面临的挑战及未来发展趋势。强化学习正为游戏AI带来新的可能性。
219 4

热门文章

最新文章