Python深入理解② 魔法函数(学习笔记)

Python深入理解① 魔法函数

什么是魔法函数

  1. 以__开头和__结尾的函数 如:def __init__
  2. 系统内设,对象的属性功能,在相应语法调用时会触发,如使用下标
class Nums(object):

    def __init__(self, nums):
        self.nums = nums

    # 当下标函数调用时触发
    # def __getitem__(self, item):
    #     return self.nums[item]


nums = Nums(['1', '2', '3', '4', '5'])


nums1 = nums[:1]

下标触发了对象的 def __getitem__函数,若删除该函数,则会报错非没有下标的对象当做下标使用了
在这里插入图片描述

常见魔法函数

①非数学运算:

  1. 字符串表示:__repr__,__str__
  2. 集合、序列相关:__len__,__getitem__,__setitem__,__delitem__,__contains__
  3. 迭代相关:__iter__,__next__
  4. 可调用:__call__
  5. with上下文管理:__enter__,__exit__
  6. 数值转换:__abs__,__bool__,__int__,__float__,__hash__,__index__,
  7. 元类相关:__new__,__init__
  8. 属性描述符:__get__,__set__,__delete__
  9. 属性相关:__getattr__,__setattr__,__getattribute__,__setattribute__
  10. 协程: __await__,__aiter__,__anext__,__aenter__,__aexit__
发布了15 篇原创文章 · 获赞 4 · 访问量 1042

猜你喜欢

转载自blog.csdn.net/qq_37316153/article/details/104230421