首页 > 编程语言 >python 面向对象(三)magic methods

python 面向对象(三)magic methods

时间:2024-03-18 15:33:21浏览次数:32  
标签:magic methods python Python Magic Your 下划线

magic methods就是双下划线方法

As a Python developer who wants to harness the power of object-oriented programming, you’ll love to learn how to customize your classes using special methods, also known as magic methods or dunder methods. A special method is a method whose name starts and ends with a double underscore. These methods have special meanings for Python.

再谈(reprise) 三种下划线

  1. 单下划线在前一般用于声明私有成员,比如 _private_var
  2. 单下划线在后一般用于命名已经被保留关键字占用的变量,比如 class_,type_
  3. 双下划线一般被用于 Python 内置的特殊方法或者属性,比如 name,file,有时候也被称之为魔方方法。

Table of Contents

参考Python's Magic Methods: Leverage Their Power in Your Classes

  • Getting to Know Python’s Magic or Special Methods
  • Controlling the Object Creation Process
  • Representing Objects as Strings
  • Supporting Operator Overloading in Custom Classes
  • Introspecting Your Objects
  • Controlling Attribute Access
  • Managing Attributes Through Descriptors
  • Supporting Iteration With Iterators and Iterables
  • Making Your Objects Callable
  • Implementing Custom Sequences and Mappings
  • Handling Setup and Teardown With Context Managers
  • Conclusion

Reference

  1. Python's Magic Methods: Leverage Their Power in Your Classes
  2. Python中的下划线和魔方方法
  3. What is the meaning of single and double underscore before an object name?

标签:magic,methods,python,Python,Magic,Your,下划线
From: https://www.cnblogs.com/guanghui-hua/p/18080518

相关文章

  • Python实现HTTPS网站证书过期监控及更新
    Python实现HTTPS网站证书过期监控及更新当前HTTP逐渐被大众所抛弃,HTTPS正在成为互联网上的主流。前段时间我们维护的一个HTTPS证书即将过期,由于多云环境比较复杂,团队小伙伴在替换更新证书的过程中出现疏漏,导致有一个域名证书没有及时更新,影响了系统可用性,为了杜绝这种问题再次发......
  • python + xlwings 操作Excel,复制粘贴保留格式
    在使用python处理Excel时,需求是要保留Excel内的格式(例如字体,大小,背景颜色,函数公式....),试了其它几个库,都没达到效果,偶然发现了xlwings,可以达到我所需要的效果。importxlwingsasxwfromxlwings.constantsimportPasteType打开Excel文件workbook=xw.Book('example.xlsx')......
  • 【Python使用】嘿马头条完整开发md笔记第2篇:数据库,作用【附代码文档】
    嘿马头条项目从到完整开发笔记总结完整教程(附代码资料)主要内容讲述:课程简介,ToutiaoWeb虚拟机使用说明,Pycharm远程开发,产品与开发,数据库1产品介绍,2原型图与UI图,3技术架构,4开发。OSS对象存储,七牛云存储,CDN,缓存。缓存,缓存架构,缓存数据,缓存有效期与淘汰策略,缓存模式缓存数据的......
  • python pytest.mark
    pytest.mark是pytest测试框架中的一个功能,它允许你为测试用例和测试夹具(fixtures)添加元数据(或称为“标记”)。这些标记可以用于各种目的,例如选择性地运行特定的测试用例集,跳过某些测试用例,或者为测试用例添加额外的信息。pytest.mark主要有以下几种用法:为测试用例添加标记:你......
  • python @pytest.fixture示例及用法
    [email protected]示例及用法@pytest.fixture是pytest测试框架中的一个非常有用的功能,它允许你定义可以在多个测试用例之间共享的设置和清理代码。通过使用fixture,你可以减少重复的代码,并使得测试用例更加清晰和模块化。下面是一个简单的示例,展示了如何使用@pytest.fi......
  • [983] Add a notification after finishing the Python script
    ref:HowtoimplementaPythondesktopnotifierusingtheplyermoduleYoucangenerateanotificationafteryourPythoncodefinishesexecutingusingvariousmethods.Hereareafewoptions:UsingPlyer(Cross-Platform):Installthe plyer libraryusi......
  • CS 3800 python
    CS3800在线W.Schnyder2024年春季3/6/2024课业7(3月15日星期五到期)说明:此课业应在到期日之前11:59pm之前以一年级的PDF(不零件)提交。您可以在文字处理器中键入解决方案,然后将其打印到PDF,或者手工编写并提交扫描副本。写下并提交答案,就像他们是专业报告一样。如果提交不整洁(......
  • 【机器学习-04】最小二乘法的推导过程及使用方法(python代码实现)
    最小二乘法是一种常用的数据拟合方法,它可以通过最小化残差平方和来找到数据的最佳拟合线。有了上述内容铺垫之后,本文将介绍最小二乘法的推导过程,并提供使用Python实现最小二乘法的代码示例。1.模型及方程组的矩阵形式改写  首先,我们对......
  • python做了一个极简的栅格地图行走机器人,到底能干啥?[第五弹]——解锁蒙特卡洛定位功能
    目录1、前言2、增加的功能3、主要算法python实现3.1定义一个地图和固定标签3.2定义一个粒子3.3定义一个粒子管理类3.4定义粒子运动模型3.5定义观测模型3.6定义权重计算3.6更新粒子重采样4总结5、python源码1、前言在现代科技的普及下,人们对于机器人的兴趣与期待日......
  • python 服务自动生成 js 调用
    python服务自动生成js调用原理接管请求分发过程;为每个command维护对应的handler;利用python动态特性,获得handler的参数;利用模版生成js代码;利用**kwargs获取所有参数传递给handler;Demo以Flask为例#main.pyfromflaskimportFlask,requestfro......