首页 > 其他分享 >魔法函数

魔法函数

时间:2023-09-14 18:03:32浏览次数:30  
标签:__ 函数 对象 self 魔法 用于

魔法函数是Python中特殊命名的函数,用于实现特定的功能或操作。

它们以双下划线开头和结尾,例如__init____str__。魔法函数在类中被调用,以执行与对象创建、运算符重载、属性访问等相关的操作。

以下是一些常用的魔法函数及其功能:
  • __init__(self, ...): 初始化方法,在创建对象时被调用,用于设置对象的初始状态。

  • __str__(self): 返回对象的字符串表示,通常用于打印对象时显示有意义的信息。

  • __repr__(self): 返回对象的字符串表示,通常用于在交互式环境中显示对象。

  • __len__(self): 返回对象的长度,通常用于实现len()函数。

  • __getitem__(self, key): 获取对象的索引或键对应的值,通常用于实现下标操作或字典操作。

  • __setitem__(self, key, value): 设置对象的索引或键对应的值,通常用于实现下标赋值操作或字典操作。

  • __delitem__(self, key): 删除对象的索引或键对应的值,通常用于实现删除操作。

  • __iter__(self): 返回一个迭代器对象,通常用于实现对象的可迭代性。

  • __next__(self): 返回迭代器的下一个元素,通常用于实现迭代器的next()方法。

  • __call__(self, ...): 将对象作为函数进行调用,通常用于实现可调用的对象。 魔法函数可以通过在类中定义来定制对象的行为,使得对象在使用时更加灵活和方便。同时,魔法函数也是Python面向对象编程的重要特性之一。

标签:__,函数,对象,self,魔法,用于
From: https://www.cnblogs.com/nxhujiee/p/17703078.html

相关文章

  • 可持久化非确定状态AC自动分块维护线段平衡仙人掌优化最小费用最大流预处理混合图上莫
    P8946TheLostSymbol这种类型的dp的特点就是大部分转移形如\(f(i,j)\rightarrowf(i+1,j+1)\)之类的,并且当以上转移出现时原数组被清空,这就可以用一个deque来维护,然后对于全局赋值/全局加,需要对每个位置维护一个时间戳,并记录上一次赋值/加是什么时候,以便标记下传。(貌似......
  • 迭代器总结、生成器、生成器表达式、常用的68个内置函数
    迭代器总结(迭代取值和索引取值的对比)#迭代器主要就是一个迭代取值,另外一种取值方式就是索引(下标)取值l=[1,2,3,4]res=l.__iter__()res.__next__()#1res.__next__()#2res1=l.__iter__()res1.__next__()#1res1.__next__()#2迭代取值 1.不依赖......
  • Laravel 执行流程(三)之 探索 Application 构造函数
    备注:纯手打的学习笔记,如有错误之处请指正,谢谢。希望大家学的开心!说明:本来应该是说Container类(下)的,不过经过学习,直接看这个类实在不好理解,一会是绑定,一会共享实例,真心不知道说的什么....还是先从程序的入口处,顺藤摸瓜,用到的时候再结合上下文理解,比较容易消化,希望理解,抱歉!OK,从入......
  • 现代 CSS 解决方案:CSS 原生支持的三角函数
    在CSS中,存在许多数学函数,这些函数能够通过简单的计算操作来生成某些属性值,例如:calc():用于计算任意长度、百分比或数值型数据,并将其作为CSS属性值。min()和max():用于比较一组数值中的最大值或最小值,也可以与任意长度、百分比或数值型数据一同使用。clamp():用于将属性值限制在......
  • 函数节流与函数防抖
    相关理解事件频繁触发可能造成的问题?一些浏览器事件:window.onresize、window.mousemove等,触发的频率非常高,会造成界面卡顿如果向后台发送请求,频繁触发,对服务器造成不必要的压力如何限制事件处理函数频繁调用函数节流函数防抖函数节流(throttle)理解:在函数......
  • 盘点6个应该掌握的Python内置函数!
    Python作为一种灵活而强大的编程语言,越来越多的工程师开始学习、使用它。今天给大家介绍6个常见的Python内置函数,希望大家能够掌握它,以下是详细的内容:1、len()函数len()命令是一种简单而不可或缺的机制,用于确定指定可迭代对象(如列表、元组或字符串)的大小(即组件的计......
  • SQL基础总结(四):操作符和函数
    本系列blog源自前年写的SQL学习笔记,汇总一下发上来。(1月份发了前三篇笔记,原以为后面的笔记误操作删了,今天在硬盘里又找到了,一起发上来)--------------------------------派生列是一个计算结果。派生列不会成为表中的永久列,他们用于显示或者报表目的。 包含空值的任何算数运算的......
  • 无涯教程-JavaScript - ISREF函数
    描述如果指定的值是参考,则ISREF函数返回逻辑值TRUE。否则返回FALSE。语法ISREF(value)争论Argument描述Required/OptionalvalueAreferencetoacell.RequiredNotes您可以在执行任何操作之前使用此功能测试单元格的内容。适用性Excel2007,Excel2010,Excel......
  • java 日期函数
    得到过去的时间:exampleone:privateDategetDateTime(){ Calendarcalendar=Calendar.getInstance(); calendar.set(2011,Calendar.DECEMBER,1,23,0,0); returncalendar.getTime();}exampletwo:String.valueOf(newDate().getTime()-2......
  • Z函数(扩展KMP)
    Z函数(扩展KMP)用于解决以下问题:给定一个长度为n的字符串\(s\),求出一个数组\(z\),其中\(z_i\)表示字符串\(s(0,n-1)\)和\(s(i,n-1)\)的最长公共前缀。其中\(|s|<=2\times10^7\)。假设当前已经求出了\(z_0\)到\(z_{i-1}\),下一个要求\(z_i\):设\(p\)为\(1\)到\(i-1\)......