Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么使用str(id)?_Python - Fatal编程技术网

Python 为什么使用str(id)?

Python 为什么使用str(id)?,python,Python,我的SDK附带的代码行如下所示 id=str(profile["id"]) 这让我想知道为什么像下面这样的东西不起作用 id=profile["id"] 铸造我相信是昂贵的,所以要么可以使用相同的类型,要么在调用的方法中使用多态性。你能告诉我为什么我必须把id转换成字符串吗? 谢谢Python不会执行任意的运行时类型转换。不能将整数用作字符串。Python中没有强制转换。Str(67)不施法。它调用integer对象上的\uuu str\uu方法,该方法生成自身的字符串表示 这是确保prof

我的SDK附带的代码行如下所示

id=str(profile["id"])
这让我想知道为什么像下面这样的东西不起作用

id=profile["id"]
铸造我相信是昂贵的,所以要么可以使用相同的类型,要么在调用的方法中使用多态性。你能告诉我为什么我必须把id转换成字符串吗?
谢谢

Python不会执行任意的运行时类型转换。不能将整数用作字符串。

Python中没有强制转换。Str(67)不施法。它调用integer对象上的
\uuu str\uu
方法,该方法生成自身的字符串表示


这是确保profile['id']是字符串所必需的。

它将profile[id]转换为字符串,python不会自动执行此操作,而且在代码中,程序可能会根据字符串检查profile[id]。如果没有这种转换,您将得到一个类型错误:尝试将字符串与整数进行比较。

它将profile[id]转换为字符串

这不是您的问题,但pylint抱怨说,重新定义内置的“id”如果您将字符串与整数进行比较,则不会得到类型错误。但是你没有得到想要的结果。示例:
1==“1”
返回
False
事实上,您是正确的。当您尝试连接字符串和整数时,会出现TypeError。谢谢您的回答。我认为这个评估可以隐式进行,因为变量不可能作为整数使用。好吧,Python有很强的类型,所以如果它必须是字符串,那么它必须是字符串。我理解。我想我应该更仔细地看看它是如何被用来了解为什么“用户”必须进行类型转换的,而API可以为我们进行转换时,这似乎有点不必要。OP询问在这种情况下为什么要使用
str
,而不是
str
做什么。