我有一个简单的Python代码示例

import json
hello = json.dumps("hello")
print(type(hello))

if hello == "hello":
    print("They are equal")
else:
    print("They are not equal")

这是在判断"他们不平等".我不明白为什么这些值不相等.

我正在熟悉Python,但我读到这个"=="可以用作比较Python中字符串的operator.我还打印了hello的类型,其计算结果为"str"

有人能澄清一下吗?

推荐答案

一旦打印出json.dumps()的结果,行为就会变得更加清楚:

print("hello", len("hello"))
print(hello, len(hello))

这将输出:

hello 5
"hello" 7

json.dumps()添加了额外的引号——您可以看到两个字符串的长度不一样.这就是你的支票失败的原因.

Python相关问答推荐

Pandas实际上如何对基于自定义的索引(integer和非integer)执行索引

未删除映射表的行

输出中带有南的亚麻神经网络

管道冻结和管道卸载

如何使用数组的最小条目拆分数组

如何将一个动态分配的C数组转换为Numpy数组,并在C扩展模块中返回给Python

梯度下降:简化要素集的运行时间比原始要素集长

Django RawSQL注释字段

python sklearn ValueError:使用序列设置数组元素

如何将数据帧中的timedelta转换为datetime

从旋转的DF查询非NaN值

一个telegram 机器人应该发送一个测验如何做?""

Python如何导入类的实例

为什么我的scipy.optimize.minimize(method=";newton-cg";)函数停留在局部最大值上?

用0填充没有覆盖范围的垃圾箱

我怎样才能让深度测试在OpenGL中使用Python和PyGame呢?

PYODBC错误(SQL包含-26272个参数标记,但提供了235872个参数,HY 000)

如何计算Pandas 中具有特定条件的行之间的天差

如何有效地计算所有输出相对于参数的梯度?

Pandas查找给定时间戳之前的最后一个值