2017-04-24 143 views
0

通过一个简单的类阅读与网上对象章节和需要帮助的遵循简单的练习:理解类值(翻译十六进制转换为十进制)

作为练习,创建和打印Point对象,然后使用id打印对象的唯一标识符。将十六进制表单转换为十进制数并确认它们匹配。

我的回答如下代码:

class Point: 
    pass 

blank = Point() 

a = hex(id(blank)) 
print(a) 
print(blank) 

if a in repr(blank): 
    print("This is true") 

我得到以下输出:

0x11be830 
<__main__.Point object at 0x011BE830> 

为什么这些值不一样呢?

+2

你指的是'0x11be830' VS'0x011BE830'或'打印(空白)'不仅仅是标识吗? – Vallentin

+1

......他们都是一样的。 – Chris

回答

0

只需

if a.upper() in repr(blank).upper(): 
    print("This is true")