首页 > 解决方案 > 在 python 中打印方法时,十六进制值是什么意思?

问题描述

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

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

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

print(Pokemon.birth)

输出:

<function Pokemon.birth at 0x7fc78c6e8160>

当我打印它返回一个十六进制数字的方法时,这个十六进制到底是什么意思?内存位置?我试图了解代码背后的过程。

PD。我不是想让课堂正常工作,只是对十六进制感到好奇

谢谢

标签: pythonclassmethods

解决方案


这是函数的内存地址。

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

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

Help on built-in function id in module builtins:

id(obj, /)
   Return the identity of an object.
   
   This is guaranteed to be unique among simultaneously existing objects.
   (CPython uses the object's memory address.)

推荐阅读