Python 中常见的魔法方法

2023-10-27

什么是Python魔法方法

    魔法方法是在Python的类中被双下划线前后包围的方法,如常见的 :initnew、__del__等。这些方法在类或对象进行特定的操作时会自动被调用,我们可以使用或重写这些魔法方法,给自定义的类添加各种特殊的功能来满足自己的需求。

常用的魔法方法

init

    最为常见并熟知的魔法方法就是__init__()方法,可以用此方法来定义一个对象的初始化操作。例如:

class MyClass:
    def __init__(self, a, b):
        self.a = a
        self.b = b
复制代码

new

    init()方法很容易被认为是在实例化对象时调用的第一个方法,其实不是,当我们实例化一个对象的时候,例如class1=MyClass(1, 2),第一个被调用的是__new__()方法,而后再调用__init__()方法,并把一些参数传给__init__()方法,new()方法才是真正地创建了实例化对象,init

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 中常见的魔法方法 的相关文章

随机推荐

  • sqli-labs第十八十九关

    这两关为头注入 Less 18 POST Header Injection Uagent field Error based 手工注入 这关和下一关必须要抓包才能完成 因为在这里怎么是都没有反应 全是报错的状态 那么我估计就要抓包了 根本判
  • pythonqt对比_用 Python 和 C++ 创建 Qt 程序的简单对比

    假设要做一个简单的小窗口 如下图所示 PyQt 和 C 要用多少代码可以完成呢 效果图 注 本文内容较多 主要是 C 的部分 若有必要请直接跳到最后看结论 一 C 版本 除了最基础的 pro 文件之外 我一共创建了 5 个文件 custom
  • 电脑固定ip地址之后重启却失效了的解决办法

    开始 运行 cmd 回车 英文状态下输入 netsh winsock reset 回车后会提示重启 先不重启 继续输入 netsh int ip reset reset log 回车后会提示重启 此时先重启电脑 重启之后再次设置好固定ip地
  • SQL 映射文件

    SQL 映射文件 SQL 映射文件只有很少的几个顶级元素 按照应被定义的顺序列出 cache 对给定命名空间的缓存配置 cache ref 对其他命名空间缓存配置的引用 resultMap 是最复杂也是最强大的元素 用来描述如何从数据库结果
  • 使用LeNet-5识别手写数字MNIST

    LeNet5 LeNet 5卷积神经网络模型 LeNet 5 是Yann LeCun在1998年设计的用于手写数字识别的卷积神经网络 当年美国大多数银行就是用它来识别支票上面的手写数字的 它是早期卷积神经网络中最有代表性的实验系统之一 Le
  • 管理系统权限篇

    目录 前言 cooike 登录篇 登录 router beforeEach 登录拦截 axios拦截器 token过期出处理 权限篇 router js store permission js 前言 登录 当用户填写完账号和密码后向服务端验
  • 热门Android Studio 插件

    Android Studio是基于JetBrains公司的IntelliJ开发的一款功能强大的开发工具 它具有构建出色Android应用所需要的一切 借助基于IntelliJ IDEA的强大的功能 插件非常丰富 正确的使用插件可以帮助你提高
  • linux脚本判断输出结果,shell脚本中的逻辑判断

    if语法 格式1 if 条件 then 语句 fi 格式2 if 条件 then 语句 else 语句 fi 格式3 if then elif then else fi 逻辑判断表达式 if a gt b if a lt 5 if b eq
  • C进阶:通讯录(动态版本 + 文件操作)附源码

    本文主要讲解通讯录的代码 需要拥有结构体 动态内存开辟 文件操作的知识 目录 一 通讯录思路 二 三个文件的建立 三 所需要使用的变量的创建 包含在头文件contact h中 四 主函数的书写 包含在 test c 中 五 通讯录功能的实现
  • HM Fast Learning

    Whole Structure 7 projects App means application T stands for test TLib is library for developer not for application Vid
  • UEFI源码解析之UEFI_DRIVER

    Dxe Driver可以视作UEFI中的一个服务 在entry中通过protocol安装自己的服务 在Bds等位置通过locate protocol使用该服务 不必依赖与具体的硬件 当需要封装某个设备 控制器或总线的时候 对应于具体的物理实
  • 一款强大的芯片nRF52840及利用蓝牙5.0实现数据远程采集

    一 nRF52840蓝牙芯片简介 自从nordic在2018年强势推出nRF52840这颗重磅级芯片后 蓝牙5 0技术开始在业界流行起来 随后蓝牙5 0技术开始成为了各大品牌的旗舰手机标配功能 1 芯片优势 这个芯片最强大的优势就是低速远距
  • SpringBoot - 打包,war包,jar包

    一 war包 1 创建一个springboot的web应用 在src目录下创建一个 webapp目录 我们选择 file gt Project Structure gt 选择模块 选择 Web Resource Directories 新建
  • LVGL(二) SquareLine_Studio1.0.5 可视化编程环境搭建

    一 下载 SquareLine Studio1 0 5 官网链接 https squareline io CS sanDN链接 19条消息 SquareLine Studio Setup1 0 5免积分下载 智能家居文档类资源 CSDN文库
  • [antdv: FormModel] model is required for resetFields to work

    今天在用Vue ant的UI框架进行表单绑定的时候出现报错 Warning antdv FormModel model is required for resetFields to work 通过不断测试才发现是因为没有在表头使用 mode
  • QT ----Canvas绘图

    在使用qtwidget进行界面设计的时候 可以进直接使用gui模块内的控件或者使用QPainter自行绘制组件 但是在qml中QT只给我们提供了一个形状组件 rectangle 可以通过设置它的radius构成圆角矩形 但是 如果我们需要进
  • Tauri 打包

    1 第一次打包运行命令 npm run tauri build 2 可能会出现下面问题 我们需要在tauri conf json里面查找identifier这个名称 原来是com tauri dev 随便改下名字 我这里改成build了 3
  • python精彩编程200例-200G的Python初高级教程+项目实战案例源码,让你做有钱途的人才...

    2018年1月16日上午 教育部正式将人工智能 物联网 大数据处理正式划入高中新课标 这就意味着现在的学生16岁就要开始学习编程了 据统计 在所有专业级别的 39000 名开发人员中 有超过四分之一的开发人员在他们 16 岁之前就写了第一个
  • 面试官: Async是如何被JavaScript实现的

    太久没和大家见面了 因为最近业务上接了新的项目所以写文的时间被严重挤压 这篇 Async 是如何被实现的 其实断断续续已经在草稿箱里躺了很久了 终于在一个夜黑风高的周六晚上可以给他画上一个句号 引言 无论是面试过程还是日常业务开发 相信大多
  • Python 中常见的魔法方法

    什么是Python魔法方法 魔法方法是在Python的类中被双下划线前后包围的方法 如常见的 init new del 等 这些方法在类或对象进行特定的操作时会自动被调用 我们可以使用或重写这些魔法方法 给自定义的类添加各种特殊的功能来满足