Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.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 打印的实例地址看起来像构造函数_Python_Instance_Memory Address_Construct - Fatal编程技术网

Python 打印的实例地址看起来像构造函数

Python 打印的实例地址看起来像构造函数,python,instance,memory-address,construct,Python,Instance,Memory Address,Construct,我正在用Python开发一个Blender插件,我正在试图理解这个打印的实例地址代表什么。我在Blender论坛()中问了这个问题,但是没有很多开发人员关注这个问题,所以我希望这是一个更一般的Python概念 在类的一些函数中,当我尝试打印(str(self))时,会打印以下字符串: 这是我希望看到的字符串类型,实际上在后面的函数中也会看到: 除了Blender环境之外,我从未在任何地方使用过Python,因此我的视角和相关知识非常有限。如果您非常熟悉Python,但这没有意义,那么它可

我正在用Python开发一个Blender插件,我正在试图理解这个打印的实例地址代表什么。我在Blender论坛()中问了这个问题,但是没有很多开发人员关注这个问题,所以我希望这是一个更一般的Python概念

在类的一些函数中,当我尝试打印(str(self))时,会打印以下字符串:


这是我希望看到的字符串类型,实际上在后面的函数中也会看到:



除了Blender环境之外,我从未在任何地方使用过Python,因此我的视角和相关知识非常有限。如果您非常熟悉Python,但这没有意义,那么它可能是非常特定于搅拌机的东西。我猜Blender对我的类实例做了一些奇怪的事情,比如从一个内存位置复制到另一个内存位置,或者可能是实例还没有完全构造好。

看起来像一个自定义的
\uu str\uu
。您能检查一下同一对象返回的打印(repr(self))结果吗?是的,看起来我得到了相同的结果:
(其中
WM\u OT\u fbxg\u ovr
是我的类名)。后来我得到了
你后来怎么得到的?它可能很重要。在
\uuu init\uuu()
和另一个函数
def invoke(self、context、event):
(用作一种设置函数-请参阅)期间,实例会像构造函数字符串一样打印,之后所有的函数似乎都会打印普通的实例地址。我想如果它是非常特定于Blender的东西,你就不必太担心了。正常情况下,每个类都会像您期望的那样打印其实例:
ClassName实例在0X00address
。从
\uuuuu new\uuuuuu
方法返回实例后,可以知道实例地址(在Python中它实际上是一个构造函数,而不是
\uuuuuuu init\uuuu
)。我想不出任何理由用
CLASS\u NAME(“CLASS\u NAME”)