python进阶之魔术方法详解

 更新时间:2022年01月15日 14:13:12   作者:骄阳根据地  
这篇文章主要为大家介绍了python进阶之魔术方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

一、三个内置函数

1、@classmethod–类名.属性名

2、@staticmethod–类名.属性名

3、@property–设置只读属性,方法变属性,别人不易篡改,调用:类名(). 属性名

二、双下划线开头和结尾的方法,叫魔术方法。

1、一个类对象,在__init__初始化之前,还有__new__方法,这里要重写__new__方法,要调用父类的new方法,且将new方法创建的对象返回,即object. new(cls),其中cls代表的是类对象本身(MyClass)。否则无返回值运行报错。

在这里插入图片描述

2、单例模式

这个__new__方法的应用之一,就是单例模式。

实现思路,蓝色线一个回路。黄色线一个回路。

在这里插入图片描述

具体脚本如下。t2实例对象,没有name属性,但是也神奇的输出与t1一致的结果。如此类推,其他也一样,如果把这个. py文件导入其他文件B. py中,在B. py中创建其他实例对象t3,调用这个name属性时就会输出与t1一样的结果。其次,t1、t2、t3的内存地址即id(t1)三个都是一样的。最后,还可以设置其他属性,且之间属性共用。

这个就是单例模式,即实例化一次。(如果多次实例化,设置属性,明显会浪费资源,所以单例模式诞生了。)

在这里插入图片描述

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • 在Pycharm中对代码进行注释和缩进的方法详解

    在Pycharm中对代码进行注释和缩进的方法详解

    今天小编就为大家分享一篇在Pycharm中对代码进行注释和缩进的方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python实现批量执行同目录下的py文件方法

    Python实现批量执行同目录下的py文件方法

    今天小编就为大家分享一篇Python实现批量执行同目录下的py文件方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python input函数实现获取键盘输入的字符串流程讲解

    Python input函数实现获取键盘输入的字符串流程讲解

    这篇文章主要介绍了Python input函数实现获取键盘输入的字符串流程,input()是Python的内置函数,用于从控制台读取用户输入的内容。input()函数总是以字符串的形式来处理用户输入的内容,所以用户输入的内容可以包含任何字符
    2023-01-01
  • Python装饰器的应用场景及实例用法

    Python装饰器的应用场景及实例用法

    在本篇内容里小编给大家整理了一篇关于Python装饰器的应用场景及实例用法,有兴趣的朋友们可以学习下。
    2021-04-04
  • 教你用python3根据关键词爬取百度百科的内容

    教你用python3根据关键词爬取百度百科的内容

    这篇文章介绍的是利用python3根据关键词爬取百度百科的内容,注意本文用的是python3版本以及根据关键词爬取,爬取也只是单纯的爬网页信息,有需要的可以参考借鉴。
    2016-08-08
  • python中文乱码的解决方法

    python中文乱码的解决方法

    乱码在哪种语言里都会出现,今天给你二个解决python中文乱码的方法。
    2013-11-11
  • Python爬虫定时计划任务的几种常见方法(推荐)

    Python爬虫定时计划任务的几种常见方法(推荐)

    这篇文章主要介绍了Python爬虫定时计划任务的几种常见方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • pandas dataframe按照列名给列排序三种方法

    pandas dataframe按照列名给列排序三种方法

    这篇文章主要给大家介绍了关于pandas dataframe按照列名给列排序的三种方法,在进行数据分析操作时,经常需要对数据按照某行某列排序,或者按照多行多列排序,以及按照索引值排序等等,需要的朋友可以参考下
    2023-07-07
  • python开发sdk模块的方法

    python开发sdk模块的方法

    这篇文章主要介绍了python开发sdk模块,通过setup.py将框架安装到python环境中,开发成第三方模块来, 以此来调用,增加使用方便及安全高效性,需要的朋友可以参考下
    2022-07-07
  • macOS M1(AppleSilicon) 安装TensorFlow环境

    macOS M1(AppleSilicon) 安装TensorFlow环境

    苹果为M1芯片的Mac提供了TensorFlow的支持,本文主要介绍了如何给使用M1芯片的macOS安装TensorFlow的环境,感兴趣的可以了解一下
    2021-08-08

最新评论