在python中打印方法时,十六进制值意味着什么?

在python中打印方法时,十六进制值意味着什么?,python,class,methods,Python,Class,Methods,只是一个简单而快速的问题,我找不到答案。我有一个包含此方法的类: class Pokemon: "This is a pokemon class" number = 10 def birth(self): print('Hello') print(Pokemon.birth) 输出: <function Pokemon.birth at 0x7fc78c6e8160> 当我打印这个方法时,它返回一个十六进制数,这个

只是一个简单而快速的问题,我找不到答案。我有一个包含此方法的类:

class Pokemon:
    "This is a pokemon class"
     number = 10

    def birth(self):
        print('Hello')

print(Pokemon.birth)
输出:

<function Pokemon.birth at 0x7fc78c6e8160>
当我打印这个方法时,它返回一个十六进制数,这个十六进制数到底是什么意思?内存位置?我试图理解代码背后的过程

警察局。我并不是想让这门课顺利进行,只是对魔咒的好奇


谢谢

是的,这是内存地址。您还可以使用。

获取它。是的,这是内存地址。您也可以使用。

这是函数的内存地址

调用函数时需要使用括号。如果您不使用括号调用函数,解释器不会抱怨/崩溃,它只会告诉您拥有的是函数句柄,即您得到的消息、内存地址

顺便说一句,您可以使用id获取函数的十六进制内存地址


这是函数的内存地址

调用函数时需要使用括号。如果您不使用括号调用函数,解释器不会抱怨/崩溃,它只会告诉您拥有的是函数句柄,即您得到的消息、内存地址

顺便说一句,您可以使用id获取函数的十六进制内存地址


如果你想调用一个函数,你应该通过调用birth来调用它。你的电话只显示出生身份

为了使代码正常工作,您需要创建类的实例

pokemon是类pokemon的一个实例,所以您可以调用birth,它是实例方法。有关此主题的详细信息,请参阅

class Pokemon:
    "This is a pokemon class"
    number = 10

    def birth(self):
        print('Hello')

pokemon = Pokemon()
pokemon.birth()

如果你想调用一个函数,你应该通过调用birth来调用它。你的电话只显示出生身份

为了使代码正常工作,您需要创建类的实例

pokemon是类pokemon的一个实例,所以您可以调用birth,它是实例方法。有关此主题的详细信息,请参阅

class Pokemon:
    "This is a pokemon class"
    number = 10

    def birth(self):
        print('Hello')

pokemon = Pokemon()
pokemon.birth()
这个十六进制到底是什么意思?内存位置? Yes是内存中对象的地址。它是用十六进制数字表示的,以使它更“易于阅读”

import sys

class Pokemon:
    "This is a Pokemon class"
    numner = 10

    def birth(self):
        print('Hello')


print(Pokemon)
#<class '__main__.Pokemon'>

print(Pokemon.birth)
#<function Pokemon.birth at 0x000001F83C177C10>

print(hex(id(Pokemon)))
#0x1f83bf6fad0

print(hex(id(Pokemon.birth)))
#0x1f83c177c10

print(Pokemon.birth.__repr__)
# <method-wrapper '__repr__' of function object at 0x0000018609D87C10>
引用计数和名称空间 下面的代码显示了Pokemon.birth对象离开的位置。它不在globals名称空间中,而是在“\uu main.\uu Pokemon”类名称空间中

print(globals()['Pokemon'])
# <class '__main__.Pokemon'>
print(Pokemon.__dict__['birth'])
# <function Pokemon.birth at 0x0000020D51167C10>
这个十六进制到底是什么意思?内存位置? Yes是内存中对象的地址。它是用十六进制数字表示的,以使它更“易于阅读”

import sys

class Pokemon:
    "This is a Pokemon class"
    numner = 10

    def birth(self):
        print('Hello')


print(Pokemon)
#<class '__main__.Pokemon'>

print(Pokemon.birth)
#<function Pokemon.birth at 0x000001F83C177C10>

print(hex(id(Pokemon)))
#0x1f83bf6fad0

print(hex(id(Pokemon.birth)))
#0x1f83c177c10

print(Pokemon.birth.__repr__)
# <method-wrapper '__repr__' of function object at 0x0000018609D87C10>
引用计数和名称空间 下面的代码显示了Pokemon.birth对象离开的位置。它不在globals名称空间中,而是在“\uu main.\uu Pokemon”类名称空间中

print(globals()['Pokemon'])
# <class '__main__.Pokemon'>
print(Pokemon.__dict__['birth'])
# <function Pokemon.birth at 0x0000020D51167C10>


在你的代码中你遗漏了:1。类2的构造函数。创建类3的实例。呼叫出生。在你的密码中你漏掉了:1。类2的构造函数。创建类3的实例。呼叫出生。哦,谢谢分享@sabik。我对它进行了测试,它以10为基数返回内存地址。我在那里找不到它。谢谢。@AndresMitre-您可以使用十六进制函数或整数格式选项%x或{:x}将地址从id函数转换为十六进制。噢,谢谢您共享@sabik。我对它进行了测试,它以10为基数返回内存地址。我在那里找不到它。谢谢。@AndresMitre-您可以使用十六进制函数或整数格式选项%x或{:x}将地址从id函数转换为十六进制。噢,也许我不清楚@balderman。我只是想知道十六进制数字是关于什么的。原来是函数id。谢谢回答anyways@AndresMitre我的印象是,到最后你想激活出生,所以我发布了我的答案:-哦,也许我不清楚@balderman。我只是想知道十六进制数字是关于什么的。原来是函数id。谢谢回答anyways@AndresMitre我的印象是,到最后你想激活出生,所以我发布了我的答案:-谢谢你回答@Wasif。我不知道如何搜索这个问题……你在实际应用中是否需要id函数?@AndresMitre NopeThanks回答@Wasif。我不知道如何搜索这个问题……你在实际应用中是否需要id函数?@AndresMitre NopeThanks回答。最完整的答案。我认为当我们真正关心内存时,id函数在硬件或移动应用程序中可能很有用,但这些类型的应用程序通常需要其他语言的HDL。我真的不知道这什么时候有用。您是否使用过该函数?@AndresMitre-id在您出于某种原因需要对象的唯一标识符时非常有用,例如,在处理某些复杂数据结构时跟踪您是否已经看到它。@andres在实际的qord应用程序中肯定有一些用途。目前我只使用了
它用于调试目的或理解对象在处理后是否仍然相同。实际上就像使用Is操作符printa Is b,比如函数itertools.repeatn,它创建了无限多个obj i的拷贝,乘以n。然而,它们实际上是同一个对象。当我第一次使用它时,我通过打印每个项目的id来检查它。查找是同一个对象。实际上这里有一个SOO,显示了id函数的使用场景,感谢您的回答。最完整的答案。我认为当我们真正关心内存时,id函数在硬件或移动应用程序中可能很有用,但这些类型的应用程序通常需要其他语言的HDL。我真的不知道这什么时候有用。您是否使用过该函数?@AndresMitre-id在您出于某种原因需要对象的唯一标识符时非常有用,例如,在处理某些复杂数据结构时跟踪您是否已经看到它。@andres在实际的qord应用程序中肯定有一些用途。目前,我只将其用于调试目的,或者理解对象在处理后是否仍然相同。实际上就像使用Is操作符printa Is b,比如函数itertools.repeatn,它创建了无限多个obj i的拷贝,乘以n。然而,它们实际上是同一个对象。当我第一次使用它时,我通过打印每个项目的id来检查它。查找是同一个对象。实际上这里有一个SOO,它显示了id函数的一个使用场景