美文网首页
2-3 魔法函数一览

2-3 魔法函数一览

作者: xgnb | 来源:发表于2019-03-10 21:42 被阅读0次

还是那句:python的魔法函数都已经提供好了的,我们不能够随便取定义我们的魔法函数。

到底python给我们提供了哪些魔法函数呢?

这边从两个方面来列出python提供给我们的魔法函数:

非数字运算:

(1) - 字符串表示: __repr__, __str__。
(2) - 集合序列相关: __len__, __getitem__, __setitem__, __delitem__, __contains__。
(3) - 迭代相关: __iter__, __next__。
(4) - 可调用:__call__
(5) - 上下文管理器: __enter__, __exit__。
(6) - 数值转换: __abs__, __bool__, __int__, __float__, __hash__, __index__.
(7) - 元类相关: __new__, __init__。
(8) - 属性相关: __getattr__、__setttr__,__getattribute__、__setattribute__, __dir__。
(9) - 属性描述符: __get__、__set__、__delete__。
(10) - 协程:: __await__、 __aiter__、 __anext__、 __aenter__、 __aexit__。

数学运算:

(1) - 一元运算符: __neg__( - 负号)、 __pos__(+ 加号)、__abs__ (绝对值)。
(2) - 二元运算符:__lt__(<)、__le__(<=)、__eq__(==)、__ne__(!=)、__gt__(>)、__ge__(>=)。
(3) - 算术运算符: __add__(+)、__sub__(-)、__mul__()、__truediv__(/)、__floordiv__(//)、__mod__(%)、__divmod__divmod()、__pow__*或pow()、__round__round()。
(4) - 反向算术运算符: __radd__、__rsub__、__rmul__、__rtruediv__、__rfloordiv__、__rmod__、__rdivmod__、__rpow__。
(5) - 增量赋值算术运算符: __iadd__、__isub__、__imul__、__itruediv__、__ifloordiv__、__imod__、__ipow__。
(6) - 位运算符: __invert__(~)、__lshift__(<<)、__rshift__(>>)、__and__(&)、__or__(|)、__xor__(^)。
(7) - 反向位运算符: __rlshift__、__rrshift__、__rand__、__rxor__、__ror__。
(8) - 增量赋值位运算符: __ilshift__、__irshift__、__iand__、__ixor__、__ior__。


下面我们来接介绍两个魔法函数,关于字符串的__str__与__repr__:
__str__:作为实例对象在输出时的返回,看如下代码。

# 未声明时
class Company:
    def __init__(self, employee_list):
        self.employee = employee_list


company = Company(['tom', 'bob', 'jane'])
print(company)

当我们定义了他的输出返回__str__:

class Company:
    def __init__(self, employee_list):
        self.employee = employee_list

    def __str__(self):
        return '-'.join(self.employee)

company = Company(['tom', 'bob', 'jane'])
print(company)

__repr__: 用于开发模式,比如在ipython、jupyternotebook的环境下,直接访问变量得到的返回形式,对比如下:

相关文章

  • 2-3 魔法函数一览

    还是那句:python的魔法函数都已经提供好了的,我们不能够随便取定义我们的魔法函数。 到底python给我们提供...

  • Jupyter Notebook魔法函数

    魔法函数 使用魔法函数可以简单的实现一些单纯python要很麻烦才能实现的功能。 一些常用魔法函数的示例: 注意这...

  • Python进阶2

    魔法函数 引言 魔法函数是Python中定义的,以__开头,__结尾,形如__func__()的函数,一般使用已经...

  • 魔法函数

    魔法函数是什么神仙玩意?对于一个编程从出门到劝退的网络安全爱好者来说看代码是件很苦逼的事(很多函数都需要baidu...

  • jupyter-lab魔法函数

    作者:Arno审稿:童蒙编辑:amethyst 魔法函数介绍 所谓jupyter-lab的魔法函数, 实际上是ju...

  • python魔法函数

    什么是魔法函数? 1)在python中以双下滑线开头并且以双下滑线结尾的函数 2)魔法函数可以随意定义某个类...

  • 开路魔法🔮油

    魔法小妙招 月经不规则、经痛:2-3滴涂抹热敷于下腹部、下背部、肩膀、足底,香熏吸嗅,一天2-3次。 女性性冷感、...

  • php魔法函数

    php魔法函数性能不佳,尽量避免使用php魔法函数:(主要用在:动态代理、实现准AOP) 1. __constru...

  • python元类编程(2)

    1. getattr魔法函数 getattr魔法函数就是在查找不到属性的时候调用代码示例 运行结果 2. geta...

  • 第二章 魔法函数

    一. 什么是魔法函数 二. python的数据模型以及数据模型对python的影响(数据模型也叫魔法函数) 三. ...

网友评论

      本文标题:2-3 魔法函数一览

      本文链接:https://www.haomeiwen.com/subject/llvbcqtx.html