开发者社区> 问答> 正文

python repr函数在调用时没有使用引号

这是我的代码 其中我对两个相等的值调用了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

展开
收起
安忆333 2019-12-05 15:57:44 2974 0
2 条回答
写回答
取消 提交回答
  • 原因很简单,你还是没了解repr,将表达式转换成解释器可以理解的形式。

    换句话说,当你将repr用eval解释回去的时候,表达式保持原样。

    你原来是字符串,还是字符串,你原来是整型还是整形。

    复盘操作:

    image.png

    image.png

    2019-12-06 09:11:21
    赞同 展开评论 打赏
  • print(type(values))
    print(type(ID)) 
    

    请验证一下数据类型是否一致,一个是字符串型,一个int类型

    2019-12-05 15:58:26
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载