这是我的代码 其中我对两个相等的值调用了repr,但是当比较时,它们不相等。所以我用repr进行调试,第二个repr调用为什么不是用单引号打印?
ID = data_match[4] #current id
print(repr(ID)) #'550699433'
if user in dict:
for keys,values in online.items():
print(repr(values)) #550699433
print(values == ID) #False
为了验证,我希望值相等时打印true,并且我正在使用repr调试为什么打印false
原因很简单,你还是没了解repr,将表达式转换成解释器可以理解的形式。
换句话说,当你将repr用eval解释回去的时候,表达式保持原样。
你原来是字符串,还是字符串,你原来是整型还是整形。
复盘操作:
print(type(values))
print(type(ID))
请验证一下数据类型是否一致,一个是字符串型,一个int类型
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。