当前位置: 首页 > article >正文

python各种方法总结

python各种方法总结

魔术方法

重点

  1. _init_
    1. init 方法 init 方法是一个类的构造器,当一个实例被创建时,这个方法会被自动调用。它用于对新创建的对象进行初始化操作,
    2. 比如设置初始值。init 方法是类的初始化方法,它总是接收 self 作为第一个参数,后面可以接收其他参数。 • 如果你需要继承父类的 init 方法,
    3. 记得调用 super().init()。
    class MyClass:
        def __init__(self, value):
            self.value = value
    
    obj = MyClass(10)
    print(obj.value)  # 输出: 10
  1. _new_
    1. new_ 方法 new 方法是类的静态方法,用于创建一个实例(开辟一个空间,或者说定义一个对象)。它负责返回类的新实例,通常用于控制对象的创建。
    2. new 必须返回一个实例,否则会抛出 TypeError。
    3. new 方法在 init 之前被调用。 • 它是一个静态方法,不需要接收 self,而是接收 cls 作为第一个参数,代表类本身。
    4. • 通常用于控制对象的创建,比如单例模式。
    class MyClass:
        def __new__(cls, *args, **kwargs):
            instance = super().__new__(cls)
            return instance
    
    obj = MyClass()
  1. del
    1. del 方法 del 方法是类的析构器,当一个实例被销毁时,这个方法会被自动调用。
    2. 它用于执行清理操作,比如关闭文件、释放资源等。
    3. del 方法的调用时机不确定,因为Python的垃圾回收机制可能不会立即执行它。 • 依赖 del 来释放资源是不安全的,
    4. 应该在 init 中分配的资源,在 del 中释放
    class MyClass:
        def __init__(self, value):
            self.value = value
    
        def __del__(self):
            print(f"对象 {
     self.value} 被销毁")
    
    obj = MyClass(10)
    del obj  # 输出: 对象 10 被销毁
  1. call
    1. call 方法 call 方法使得一个类的实例表现得像一个函数,
    2. 即实例可以被调用。当实例被调用时,这个方法会被自动调用。
    3. call 方法必须被定义在实例的方法中,而不是类方法或静态方法。 • 它通常用于创建可调用的对象,比如装饰器、工厂模式等。
    4. 这些魔术方法在Python中非常有用,但也需要谨慎使用,因为它们的工作方式可能不如普通方法直观。
class MyClass:
    def __init__(self, value):
        self.value = value

    def __call__(self)

http://www.kler.cn/a/393606.html

相关文章:

  • 鸿蒙HarmonyOS 地图不显示解决方案
  • MySQL的SQL书写顺序和执行顺序
  • 阿里云通义大模型团队开源Qwen2.5-Coder:AI编程新纪元
  • 论文解析:边缘计算网络中资源共享的分布式协议(2区)
  • HelloMeme 上手即用教程
  • three.js 杂记
  • 【Linux】ISCSI实验
  • 使用git安装Django-micro,limit使用
  • Mysql 5.7.6以上版本怎样关闭GTID(由GTID改为基于file,position方式)
  • python习题练习
  • WebGIS四大地图框架:Leaflet、OpenLayers、Mapbox、Cesium
  • 【插件】多断言 插件pytest-assume
  • 2024年8个最佳在线websocket调试工具选择
  • 30.超市管理系统(基于springboot和Vue的Java项目)
  • Android 13.0 framework系统修改安兔兔等显示的屏幕尺寸大小功能实现
  • 集群架构中Lua脚本的限制以及出现的报错
  • N种方式解决
  • 计算机图形学论文 | 木工设计与制造计划的共同优化
  • 计算机毕业设计——ssm基于JAVA的求职招聘网站的设计与实现演示录像 2021
  • LeetCode【0009】回文数
  • 微信小程序=》基础=》常见问题=》性能总结
  • 期货配资系统行情源对接通讯协议范本
  • 如何选择适合小团队的项目管理工具?免费与开源软件推荐
  • cache中命中率和平均访问时间
  • odoo 17 后端路由接口认证自定义
  • 前端常用布局模板39套,纯CSS实现布局