为什么要使用str(id)?
我的SDK里有一些代码,看起来像这样:
id=str(profile["id"])
这让我想知道,像下面这样的代码为什么不应该能正常工作:
id=profile["id"]
我觉得类型转换是比较耗费资源的,所以要么使用相同的类型,要么在调用的方法中使用多态。你能告诉我为什么我必须把id转换成字符串吗?谢谢!
4 个回答
1
Python不支持随意的运行时类型转换。也就是说,你不能把一个整数当作字符串来使用。
3
这段话的意思是,把 profile[id] 转换成一个字符串。在 Python 里,这个转换不会自动发生。在代码的后面,程序可能会把 profile[id] 和一个字符串进行比较。如果不进行这个转换,就会出现一个错误,提示你在比较一个字符串和一个整数,这样是没法直接比较的。
3
在Python中没有“类型转换”这个说法。比如说,str(67)并不是在进行转换,而是调用了整数对象的__str__
方法,这个方法会生成一个它自己的字符串表示。
这样做是为了确保profile['id']是一个字符串类型。