Python2和Python3:__init__和__new__

哈维尔·克拉维罗(Javier Clavero)

我读过其他问题,解释了__init__之间的区别__new__但是我不明白为什么在下面的代码中使用python 2 out:

init

和Python3:

new
init

示例代码:

class ExampleClass():
    def __new__(cls):
        print ("new")
        return super().__new__(cls)

    def __init__(self):
        print ("init")

example = ExampleClass()
虚假的

__new__在Python 2.x中使用,该类应该是新型类(从派生的类object)。

并且to的调用与super()Python 3.x的调用不同。

class ExampleClass(object):  # <---
    def __new__(cls):
        print("new")
        return super(ExampleClass, cls).__new__(cls)  # <---

    def __init__(self):
        print("init")

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python2 / 3中__new__和__init__顺序之间的区别

来自分类Dev

为什么在Python中不只是__new__而不是__new__和__init__?

来自分类Dev

python2和python3中dict的__repr __()

来自分类Dev

正确处理Python2和Python3

来自分类Dev

Python2和Python3之间的字符编码

来自分类Dev

正确处理Python2和Python3

来自分类Dev

python:运行__new__时出错?不调用__init__

来自分类Dev

Python3和pip3 +为python2安装的轮子也可以用于python3

来自分类Dev

使用python2和python3在stderr上编写的函数

来自分类Dev

python2和python3之间的可移植元类

来自分类Dev

以与python2和python3兼容的方式将字节写入标准输出

来自分类Dev

select()在python2和python3上的行为是否有所不同?

来自分类Dev

使用python2和python3创建一个virtualenv

来自分类Dev

在Python2和Python3中编写不同的十六进制值

来自分类Dev

如何分别为python3和python2设置不同的PYTHONPATH变量

来自分类Dev

Python3和Python2之间的区别-socket.send数据

来自分类Dev

捕获标准输出时python2和python3之间的StringIO可移植性

来自分类Dev

Ansible json_query在python3和python2中的不同结果

来自分类Dev

为什么Python2和Python3的行为不同

来自分类Dev

python2和python3之间的可移植元类

来自分类Dev

使用 python3 和 python2 构建分发包的区别?

来自分类Dev

使用多个 Pipfiles 支持 python2 和 python3

来自分类Dev

Python2 和 Python3 中的 bytes.decode()

来自分类Dev

默认类型__call__是否比调用__new__和__init__还要多?

来自分类Dev

无法深度复制同时定义了__init__和__new__的类

来自分类Dev

了解Python的`property`和`__init__`

来自分类Dev

如何使一个对象同时具有Python2和Python3迭代器?

来自分类Dev

如何使用将在python2和python3版本中兼容的六模块迁移代码

来自分类Dev

为什么在翻到超类时__new__和__init__的行为似乎有所不同?

Related 相关文章

  1. 1

    Python2 / 3中__new__和__init__顺序之间的区别

  2. 2

    为什么在Python中不只是__new__而不是__new__和__init__?

  3. 3

    python2和python3中dict的__repr __()

  4. 4

    正确处理Python2和Python3

  5. 5

    Python2和Python3之间的字符编码

  6. 6

    正确处理Python2和Python3

  7. 7

    python:运行__new__时出错?不调用__init__

  8. 8

    Python3和pip3 +为python2安装的轮子也可以用于python3

  9. 9

    使用python2和python3在stderr上编写的函数

  10. 10

    python2和python3之间的可移植元类

  11. 11

    以与python2和python3兼容的方式将字节写入标准输出

  12. 12

    select()在python2和python3上的行为是否有所不同?

  13. 13

    使用python2和python3创建一个virtualenv

  14. 14

    在Python2和Python3中编写不同的十六进制值

  15. 15

    如何分别为python3和python2设置不同的PYTHONPATH变量

  16. 16

    Python3和Python2之间的区别-socket.send数据

  17. 17

    捕获标准输出时python2和python3之间的StringIO可移植性

  18. 18

    Ansible json_query在python3和python2中的不同结果

  19. 19

    为什么Python2和Python3的行为不同

  20. 20

    python2和python3之间的可移植元类

  21. 21

    使用 python3 和 python2 构建分发包的区别?

  22. 22

    使用多个 Pipfiles 支持 python2 和 python3

  23. 23

    Python2 和 Python3 中的 bytes.decode()

  24. 24

    默认类型__call__是否比调用__new__和__init__还要多?

  25. 25

    无法深度复制同时定义了__init__和__new__的类

  26. 26

    了解Python的`property`和`__init__`

  27. 27

    如何使一个对象同时具有Python2和Python3迭代器?

  28. 28

    如何使用将在python2和python3版本中兼容的六模块迁移代码

  29. 29

    为什么在翻到超类时__new__和__init__的行为似乎有所不同?

热门标签

归档