python魔法函数

1、init

用于初始化对象的属性和状态
当创建一个对象时,Python会自动调用该对象的__init__方法。
这个方法用于初始化对象的属性和状态,是对象创建过程中的一个重要环节

2、new

# 通常我们不需要重写__new__方法,除非我们正在进行一些非常特殊的操作,例如单例模式等
class MyClass:  def __new__(cls, *args, **kwargs):  instance = super(MyClass, cls).__new__(cls)  # 在这里进行一些额外的初始化操作  return instance  def __init__(self, name):  self.name = name

2、del

删除对象时调用的特殊方法
当一个对象不再被引用时,Python会自动调用该对象的__del__方法。
这个方法通常用于释放对象所占用的资源,例如关闭文件、断开网络连接等

class MyClass:  def __init__(self):  self.file = open("example.txt", "r")  def __del__(self):  self.file.close()  obj = MyClass()  # 使用obj读取文件内容...  del obj  # 删除obj时,会自动调用__del__方法关闭文件

3、setitem

允许对象使用索引运算符 [] 进行赋值

def __setitem__(self, key, value):self.__dict__[key] = value

4、getitem

允许对象使用索引运算符 [] 进行访问


5、setattr

tig = "test"
# 设置属性 相当于self.kind = tig
self.__setattr__('kind', tig)

6、getattr


7、str

返回对象的字符串表示形式

8、repr

返回对象的官方字符串表示形式

9、len

返回对象的长度或包含的元素个数

10、iter

11、next

12、call

允许一个对象像函数一样被调用

add()、sub()、mul()等:用于定义对象之间的加、减、乘等运算行为

delitem():允许对象使用索引运算符 [] 进行删除。

eq()、ne()、lt()等:用于定义对象之间的比较行为。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/656790.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kerberos+kafka(2.13)认证(单节点ubuntu)

一:搭建kerberos。 1. 运行安装命令 apt-get install krb5-admin-server krb5-kdc krb5-user krb5-config2. 检查服务是否启动。 systemctl status krb5-admin-server systemctl status krb5-kdcsystemctl start krb5-admin-server systemctl startkrb5-kdc3. 修…

yum安装报错“Curl error (37): Could‘t read a file...”

使用yum命令安装软件包“libmcrypt-devel” 运行yum命令如下: yum install libmcrypt-devel 提示有这个软件以及软件版本信息,输入y后下载软件包。 稍后提示错误如下: 错误提示截图中,警告软件包libmcrypt-devel-2.5.8-26.el8…

Blender Object 的 name 字段不是 string

之前在获取 object 的 name 之后直接当作 string,对他调用 string 的函数,结果导致了 blender 崩溃,完全不知道哪错了 后面发现 object 的 name 字段似乎不是 string,需要先转到 string 感觉 blender 这点不好,调用了…

DC-磁盘配额(23国赛真题)

2023全国职业院校技能大赛网络系统管理赛项–模块B:服务部署(WindowServer2022) 文章目录 DC-磁盘配额题目配置步骤验证查看DC2驱动器C:\的磁盘配额,限制磁盘空间,警告等级等配置 DC-磁盘配额 题目 在DC2驱动器C:\上…

limit offset 分页传参

在上次优化分页查询的过程中搞错了limit分页的入参值 pageSize、pageNum 、currPage 导致出现了分页查询的问题 大数据量分页优化,应对PageHelper 这次我们攻坚limit 分页的参数值是如何处理的。 pageSize 页数 前端传过来的,默认10 currPage 当前页 …

测试用例级别该如何定义 ? 在工作中该如何应用它 ? 把握好这5个场景即可。

1.级别的作用 在编写测试用例的过程中,用例的级别经常是一个不可缺少的字段 ,本篇幅就来聊下这个字段 ,首先从它的作用是什么呢 ?我觉得主要有两点 ,分别是 : 用于测试用例不同套件的选取 ,即用…

C# Socket 允许控制台应用通过防火墙

需求: 在代码中将exe添加到防火墙规则中,允许Socket通过 添加库引用 效果: 一键三联 若可用记得点赞评论收藏哦,你的支持就是写作的动力。 源地址: https://gist.github.com/cstrahan/513804 调用代码: private static void …

分布式定时任务系列9:XXL-job源码分析之路由策略

传送门 分布式定时任务系列1:XXL-job安装 分布式定时任务系列2:XXL-job使用 分布式定时任务系列3:任务执行引擎设计 分布式定时任务系列4:任务执行引擎设计续 分布式定时任务系列5:XXL-job中blockingQueue的应用 …

刘润-底层逻辑 阅读笔记

序言 在面临变化的时候,底层逻辑能够应用到新的变化里面,从而产生新的方法论 从本质上来说,二者都是流量、转化率、客单价和复购率四部分的不同组合 只有不同之中的相同之处、变化背后不变的东西,才是底层逻辑。 底层逻辑环境…

Docker部署Plik系统并结合内网穿透实现远程访问本地上传下载文件

文章目录 1. Docker部署Plik2. 本地访问Plik3. Linux安装Cpolar4. 配置Plik公网地址5. 远程访问Plik6. 固定Plik公网地址7. 固定地址访问Plik 本文介绍如何使用Linux docker方式快速安装Plik并且结合Cpolar内网穿透工具实现远程访问,实现随时随地在任意设备上传或者…

基于springboot原创歌曲分享平台源码和论文

随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理平台应运而生,各行各业相继进入信息管理时代&#xf…

STM32的GPIO的详细配置指南

1. GPIO简介 GPIO(General Purpose Input/Output)是用于在微控制器中与外部世界通信的接口。通过GPIO,微控制器可以控制外部设备(如LED、LCD、按键等)的状态,也可以接收外部设备的状态(如传感器…

掌握使用 React 和 Ant Design 的个人博客艺术之美

文章目录 前言在React的海洋中起航安装 Create React App安装Ant Design 打造个性化的博客风格通过路由实现多页面美化与样式定制部署与分享总结 前言 在当今数字时代,个人博客成为表达观点、分享经验和展示技能的独特平台。在这个互联网浪潮中,选择使用…

Unity 状态模式(实例详解)

文章目录 简介示例1:基础角色状态切换示例2:添加更多角色状态示例3:战斗状态示例4:动画同步状态示例5:状态机管理器示例6:状态间转换的条件触发示例7:多态行为与上下文类 简介 Unity 中的状态模…

【算法题】79. 单词搜索

题目 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或…

el-input 显示最大长度和已输入内容长度

效果如下图 多行文本框&#xff1a; 单行文本框&#xff1a; 需要设置 maxlength 和 show-word-limit 两个属性&#xff0c;在使用 maxlength 属性限制最大输入长度的同时&#xff0c;可通过设置 show-word-limit 属性来展示字数统计。 <el-inputtype"textarea&quo…

《HTML 简易速速上手小册》第6章:HTML 语义与结构(2024 最新版)

文章目录 6.1 语义化标签的重要性6.1.1 基础知识6.1.2 案例 1&#xff1a;使用 <article>, <section>, <aside>, <header>, 和 <footer>6.1.3 案例 2&#xff1a;构建带有嵌套语义化标签的新闻网站6.1.4 案例 3&#xff1a;创建一个带有 <mai…

SSD寻址单元IU对寿命的影响有多大?

随着存储技术的不断进步&#xff0c;固态硬盘SSD的容量正以惊人的速度增长&#xff0c;尤其是采用高密度QLC NAND闪存技术的大容量SSD&#xff0c;如30TB及以上级别的产品。QLC NAND由于每个单元能够存储4比特数据&#xff0c;从而显著提高了存储密度&#xff0c;但同时也带来了…

纯html+css+js静态汽车商城

首页代码 <!DOCTYPE html> <html class"no-js" lang"zxx"><head><meta charset"utf-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content&qu…

学会用Python分割、合并字符串

在很多情况下&#xff0c;我们需要对字符串进行分割或合并&#xff0c;以满足特定的需求&#xff0c;例如将字符串拆分成多个部分、将多个字符串合并成一个等等。Python提供了多种方法来进行字符串的分割和合并&#xff0c;本文将介绍其中几种常用的方法。 一、使用split()函数…