首页 > 编程语言 >超详细Python教程——Magic Method

超详细Python教程——Magic Method

时间:2024-06-17 20:57:21浏览次数:12  
标签:__ Magic Python 魔术 init 方法 Method dir

在 Python 中,所有以 "__" 双下划线包起来的方法,都统称为"魔术方法"。比如我们接触最多的 __init__ 。

魔术方法有什么作用呢?

使用这些魔术方法,我们可以构造出优美的代码,将复杂的逻辑封装成简单的方法。

那么一个类中有哪些魔术方法呢?

我们可以使用 Python 内置的方法 dir() 来列出类中所有的魔术方法.示例如下:

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-

class User(object):
    pass


if __name__ == '__main__':
    print(dir(User()))

输出的结果:

['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']

可以看到,一个类的魔术方法还是挺多的,不过我们只需要了解一些常见和常用的魔术方法就好了。

标签:__,Magic,Python,魔术,init,方法,Method,dir
From: https://blog.csdn.net/abcd51685168/article/details/139728956

相关文章

  • Web框架,Python框架初识,Django框架初识与安装,
    ⅠWeb框架【一】Web框架本质web框架本质上可以看成是一个功能强大的socket服务端,用户的浏览器可以看成是拥有可视化界面的socket客户端。两者通过网络请求实现数据交互,从架构层面上先简单的将Web框架看做是对前端、数据库的全方位整合#TCP服务端与客户端进行交互的过程#......
  • python字符串的一些操作实例
    已知字符串a=“aAsomr3idd4HGHbigs7Dlsf9YeAF”,要求如下1.请将a字符串的大写改为小写,小写改为大写。2.将a字符串的数字取出,并输出成一个新的字符串。3.将a字符串中的内容反向输出4.打印a字符串中所有奇数位上的字符(下标是1,3,5,7…位上的字符)5.将a字符串的所有偶数位上......
  • python爬取数据爬取图书信息
    #encoding=utf-8importjson#json包,用于读取解析,生成json格式的文件内容importtimefromrandomimportrandintimportrequests#请求包用于发起网络请求frombs4importBeautifulSoup#解析页面内容帮助包fromlxmlimportetreeimportre#正则表达式......
  • Python统计实战:一题巩固单因子方差分析
    为了解决特定问题而进行的学习是提高效率的最佳途径。这种方法能够使我们专注于最相关的知识和技能,从而更快地掌握解决问题所需的能力。(以下练习题来源于《统计学—基于Python》。联系获取完整数据和Python源代码文件。)练习题一家管理咨询公司为不同的客户提供人力资源管理......
  • Python-入门指南第二版-全-
    Python入门指南第二版(全)原文:annas-archive.org/md5/4b0fd2cf0da7c8edae4b5ecfd40159bf译者:飞龙协议:CCBY-NC-SA4.0前言正如标题所承诺的,本书将向你介绍世界上最流行的编程语言之一:Python。它旨在面向初学者和希望将Python添加到他们已经掌握的语言中的更有经验的程序员......
  • Python 中的 Pandas(数据分析与处理)
    Pandas是Python中最受欢迎的数据处理库之一,其名字源自于“PanelData”(面板数据)的缩写。它提供了三种主要的数据结构:Series, DataFrame,Panel(在新版本已经被弃用)    数据操作与基本技巧数据读取与加载:Pandas支持从多种数据源加载数据,包括CSV文件、Excel文件、S......
  • 一行Python代码可以做什么,超出你想象
    哈喽,大家好,我是木头左!揭秘编程语言的灵活性在编程的世界里,简洁就是力量。Python以其优雅和简洁而著称,让开发者能够用更少的代码做更多的事。但这并不意味着功能上的妥协——Python的强大之处在于它允许在一行代码中执行多个语句,这不仅能提高的编码效率,还能使代码更加紧凑和易......
  • 嗨翻-Python-第三版-早期发布--全-
    嗨翻Python第三版(早期发布)(全)原文:annas-archive.org/md5/417e7d9e18255015d2c5d146fdf36e20译者:飞龙协议:CCBY-NC-SA4.0序言安装最新的Python3你在这里所做的取决于你正在运行的平台,假定是其中之一的Windows、macOS或Linux。好消息是所有三个平台都支持最新的Pyt......
  • Python-与-Jax-现代推荐系统构建指南-全-
    Python与Jax现代推荐系统构建指南(全)原文:annas-archive.org/md5/da17d05291861831978609329c481581译者:飞龙协议:CCBY-NC-SA4.0前言你是如何找到这本书的?是在网站上看到广告吗?也许是朋友或导师建议的;或者你在社交媒体上看到了提到它的帖子。也许你是在书店的书架上发现......
  • Python-机器学习秘籍第二版-全-
    Python机器学习秘籍第二版(全)原文:annas-archive.org/md5/343c5e6c97737f77853e89eacb95df75译者:飞龙协议:CCBY-NC-SA4.0前言当本书的第一版于2018年出版时,填补了机器学习(ML)内容日益丰富的关键空白。通过提供经过充分测试的、实用的Python示例,使从业者能够轻松地复制和......