【问题标题】:Python built-in id() not consistent: [duplicate]Python内置id()不一致:[重复]
【发布时间】:2013-11-01 15:22:21
【问题描述】:

希望有人能解释以下差异:

>>> s1 = "Cyber security"
>>> s2 = "Cyber security"
>>> id(s1) == id(s1)
True
>>> id(s1) == id(s2)
False
>>> s1 = "cyber"
>>> s2 = "cyber"
>>> id(s1) == id(s2)
True
>>> s2 = "cyber "
>>> s2 = "cyber "
>>> id(s1) == id(s2)
False

为什么空格使 id() 为假,而没有空格的不同变量为真?

【问题讨论】:

  • 注意:尽管您会看到相同的效果,但您的成绩单并没有显示您想要的效果,因为您没有更改最后一组中的 s1.. 所以您'将"cyber""cyber " 进行比较。

标签: python-3.x built-in


【解决方案1】:

来自id()的Python文档:

这是一个整数(或长整数),保证此对象在其生命周期内是唯一且恒定的。

绝对不能保证两个对象具有相同的id,实际上可以保证相反。

如果要比较字符串,直接比较即可。

【讨论】:

    猜你喜欢
    • 2022-08-08
    • 1970-01-01
    • 2013-09-12
    • 2016-07-07
    • 2020-11-05
    • 1970-01-01
    • 1970-01-01
    • 2021-04-10
    • 2018-12-23
    相关资源
    最近更新 更多