print(obj) #打印结果:<__main__.Foo object at 0x000002636FEAA208>

事实上如果(新式)类中没有重写__new__()方法,即在定义新式类时没有重新定义__new__()时,Python默认是调用该类的直接父类的__new__()方法来构造该类的实例,

如果该类的父类也没有重写__new__(),那么将一直按此规矩追溯至object的__new__()方法,因为object是所有新式类的基类。

classF1(object):

#重写__new__方法,返回这个重写的__new__方法def __new__(cls, *args, **kwargs):return 123obj=F1() #实例化对象是谁取决于__new__方法,__new__返回什么就是什么

print(obj,type(obj)) #打印结果:123

classF2(object):pass

classF3(object):def __new__(cls, *args, **kwargs):returnF2()

obj=F3() #实例化对象是谁取决于__new__方法,__new__返回什么就是什么

print(obj) #<__main__.F2 object at 0x00000210119BA4A8>

python怎么创建方法_python中的__new__方法相关推荐

  1. python new方法_Python中的__new__()方法的使用

    __new__() 函数只能用于从object继承的新式类. 先看下object类中对__new__()方法的定义: class object: @staticmethod # known case ...

  2. python函数实例化_Python中的__new__()方法与实例化

    __new__()是在新式类中新出现的方法,它作用在构造方法建造实例之前,可以这么理解,在Python 中 存在于类里面的构造方法__init__()负责将类的实例化,而在__init__()启动之前 ...

  3. python find的使用方法_Python中的rfind()方法使用详解

    Python中的rfind()方法使用详解 rfind()方法返回所在子str 被找到的最后一个索引,或者-1,如果没有这样的索引不存在,可选择限制搜索字符串string[beg:end]. 语法 以 ...

  4. python中的str方法和repr方法_Python中 的 __str__ 方法和 __repr__ 方法的区别有哪些

    Python中 的 __str__ 方法和 __repr__ 方法的区别有哪些 发布时间:2020-11-05 17:11:48 来源:亿速云 阅读:95 作者:Leah 本篇文章给大家分享的是有关P ...

  5. python loads的用法_Python中json.loads方法

    Python中json.loads方法的典型用法代码 示例1: _initialize_members # 需要导入模块: import json [as 别名] # 或者: from json im ...

  6. python3.7 的pygame安装方法_Python中pygame安装方法图文详解

    本文实例讲述了Python中pygame安装方法.分享给大家供大家参考,具体如下: 这里主要描述一下我们怎样来安装pygame 可能很多人像我一样,发现了pygame是个好东东,但是就是不知道怎样使用 ...

  7. python动态方法_python中的动态方法生成

    这是一个元类,它将__getattr__函数从类定义添加回元类本身.这就避免了在多个地方定义函数,或者作为预先定义并单独添加到元类和类中的单独全局函数来定义.在class Meta(type): de ...

  8. python中属性与方法_python中属性和方法的动态绑定

    # 定义一个类class Student(object): pass # 实例化一个对象 s = Student() # 给这个对象绑定一个属性name s.name = 'John' print(s ...

  9. python如何创建文件_python中创建文件、读取文件内容

    1.选择文件夹,单击右键,点击New -> Python file 2.命名好之后,如我命的就是创建文件. 3.文件命名好了以后,可以编辑代码 如: nf=open("pi_digit ...

最新文章

  1. Ubuntu创建opencv工程并显示一张图片
  2. 聊聊Elasticsearch的ExponentiallyWeightedMovingAverage
  3. .NET Core版本七牛云SDK使用
  4. HDU 4321 Contest 3
  5. EasyUI实现工地领款单项目
  6. MATLAB判断奇偶数
  7. PyQt5笔记(04) -- 文本框的使用
  8. 随想录(我们的竞争力)
  9. linux系统win,Windows10安装运行linux系统的方法
  10. regionserver.HRegionServer: Failed construction RegionServer
  11. 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_02 泛型_3_定义和使用含有泛型的类...
  12. atitit.添加win 系统服务 bat批处理程序服务的法总结instsrv srvany java linux
  13. Redis -- 数据库常用命令大全
  14. abandon_mysql_使用Druid报错abandon connection, open stackTrace
  15. win7从服务器拷文件提示错误,windows7无法复制文件提示“一个意外错误使您无法复制该文件”如何解决...
  16. POI XssfCellStyle背景颜色对照
  17. 2.6.机载测深激光扫描系统—(Topographic Laser Ranging and Scanning-Principle 读书笔记)
  18. 开学季适合学生党的蓝牙耳机,音质好的蓝牙耳机排行
  19. ACM/ICPC竞赛指南
  20. Biopython 安装

热门文章

  1. 用python编写图片生成器_python生成器
  2. 二级list列表python_Python list 列表
  3. IDEA中的maven工程Java未被识别的解决方法
  4. 强化学习6——Value-based RL和Policy-based RL 的区别
  5. 多线程处理同一批数据_多进程和多线程的优缺点
  6. python最早引入json的版本_详解Python在使用JSON时需要注意的编码问题
  7. Linux系统没有home分区,我的linux系统home分区挂不上了
  8. 百度Create大会:百度AI安全研究的进展与愿景
  9. java生成xml_java 生成xml
  10. java入门第六天课程_Java基础知识——第六天