python - 在 python 中打印方法时,十六进制值是什么意思?
问题描述
只是一个简单而快速的问题,我找不到答案。我有这个类,里面有这个方法:
class Pokemon:
"This is a pokemon class"
number = 10
def birth(self):
print('Hello')
print(Pokemon.birth)
输出:
<function Pokemon.birth at 0x7fc78c6e8160>
当我打印它返回一个十六进制数字的方法时,这个十六进制到底是什么意思?内存位置?我试图了解代码背后的过程。
PD。我不是想让课堂正常工作,只是对十六进制感到好奇
谢谢
解决方案
这是函数的内存地址。
调用函数时需要使用括号。如果你不使用括号来调用函数,解释器不会抱怨/崩溃,它只会告诉你你拥有的是一个函数句柄(即你得到的消息,内存地址)。
顺便说一句,您可以使用获取函数的十六进制内存地址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.)
推荐阅读
- reactjs - React Jest 如何测试跨度是否包含来自挂载快照的某些文本?
- c# - 调用 post 方法后将错误从代码设置为 xaml
- html - 如何将内容放在页面底部以使其响应?
- while-loop - NetLogo:如何让模型在等待文件时暂停
- c# - (已解决)无法将“system.byte”类型的对象转换为“system.string”类型(组合框填充图片框)
- javascript - 从类 A 的对象属性中的类 B 中调用类 A 方法
- javascript - JSON 对象属性不可返回 - “无法读取未定义的属性”
- web-services - 在 sTunnel 中启用密码
- bioinformatics - 如何消除fasta文件中的重复序列
- html - 如何在引导程序 4 中使图像填充屏幕的左侧?