Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python uuu new uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu;s版本的新版本?_Python_Metaclass_Dynamic Class Creation - Fatal编程技术网

Python uuu new uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu;s版本的新版本?

Python uuu new uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu;s版本的新版本?,python,metaclass,dynamic-class-creation,Python,Metaclass,Dynamic Class Creation,在Python中使用\uuuuuuuuuuuuuuuuuuuuuu的示例是什么,这样在\uuuuuuuuuuuuuuuuuu的主体中,您就不会返回调用其他类(基、元或其他)版本的\uuuuuuuuuuuuuuuuuuuuuuu的结果,但是您是否返回指定类的已分配实例,以便调用\uuuu init\uuuu 我猜这是(而且应该是)非常罕见的,但我很好奇是否有这个用例的例子。我试着搜索tuple的\uuuuuuuuuuuuu新的实现的Python源代码,以及类型的实现,但这似乎不容易在网上快速找到。

在Python中使用
\uuuuuuuuuuuuuuuuuuuuuu
的示例是什么,这样在
\uuuuuuuuuuuuuuuuuu
的主体中,您就不会返回调用其他类(基、元或其他)版本的
\uuuuuuuuuuuuuuuuuuuuuuu
的结果,但是您是否返回指定类的已分配实例,以便调用
\uuuu init\uuuu


我猜这是(而且应该是)非常罕见的,但我很好奇是否有这个用例的例子。我试着搜索
tuple
\uuuuuuuuuuuuu新的
实现的Python源代码,以及
类型的
实现,但这似乎不容易在网上快速找到。

你不能,在Python方面你做不到。一个无操作的
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

>>> class A:
...     def __new__(cls):
...         return object.__new__(cls)
... 
>>> A()
<__main__.A object at 0x7f9e951577d0>
>>A类:
...     定义新的(cls):
...         返回对象。\uuuu新建\uuuu(cls)
... 
>>>()

您所说的“已分配实例”是什么意思?像a这样的东西可以使用
\uuuuuuuuuuuuuuu
返回同一类的现有实例,但是
\uuuuuuuuuuuuuuuuu
仍然用于构造初始实例,在那里重新调用
\uuuuuuuu init\uuuuuuuuu
甚至不可取(尽管在该示例中发生了)。如果不利用内置的
对象,就无法创建用户定义类的真正新实例<代码>元组
类型
都是用C实现的,所以它们实际上不使用与
\uuuuuuuuuuuuuuu新的
相同的API。你如何创建新的事物实例而不在其他事物的
\uuuuu new\uuuuuu
处触底?或者这是一个误导性的问题?你不能。您必须调用其他类的
\uuuuuu new\uuuuu
,或者通过调用其他类/类型创建一个对象,该类/类型在后台也将调用该类的
\uuuu new\uuuuuu
。只需确认一下,
tuple.\uuuu new\uuuuu
对象.\uuuuuuuuu new\uuuuu
类型的实现都在C级别,并为
\uuuu new\uuuuuu
定义唯一的行为集(从根本上)。对于类,在链的某个层次上,您依赖于一些内置类型的
\uuuuu new\uuuu
(或
对象
),对于元类,除了
类型
之外,其他都是相同的。在
\uuu new\uuuu
中,除了
tuple
的序列类型不变性之外,还有什么不变性吗?@EMS:什么是“种类不变性”?子类化
tuple
是一种获得一些自定义内容和不变性的方法,而不是其他类属性。使用描述符是使事物只读的一种方法,但不是合法的不变的。我想要这样的东西,
object.\uuuuuu setattr\uuuuuu
将无法调整任何属性,但它可能具有任意属性或在
\uuuuu new\uuuuuuu
@EMS:AFAIK中定义的东西(如果不从现有的不可变类型派生),那么就不可能在用户定义的类上获得真正的不可变性在Python中不使用C语言。你说的“其他类属性”是什么意思?(请注意,python代码很难找到,我忘了说你可以找到它)