我正在尝试保留一个我从整数转换的字符串。我可以将一个int变量转换为一个字符串,但是我似乎无法与之交互。以下是它在Python shell中的用法:
a = 100
a
>>> 100
str(a)
>>> '100'
a
>>> 100
str(a) = b
>>> SyntaxError: can't assign to function call
我需要的是将这个'100'字符串变成一个新变量。我试过搜索;答案可能就在那里,但我显然没有使用正确的搜索词。我发现的所有答案都只关注如何从一种类型转换为另一种类型。
答案 0 :(得分:3)
您遇到的问题不是您认为遇到的问题。
在Python中定义变量时,变量位于等号的左侧。它应该是这样的:
b = str(a)
这将定义 b ,而不会给出错误消息。回到你的问题,如果你想将 a 更改为字符串并保持这种方式, str(a)是不够的。代替:
a = str(a)
将您的变量更改为字符串。 str(a)只是一个以字符串形式返回变量 a 的函数。如果您未在此处重新定义 a , str(a)将不会返回任何地方,您的字符串将会丢失。
答案 1 :(得分:1)
您的作业语法会回到最前面。目标名称在左侧::
b = str(a)
现在b
是对str()
的返回值的引用。
您还可以重新分配回a
,用字符串表示替换旧的整数值:
a = str(a)
您尝试使用str(a)
作为分配目标; Python不能让你这样做,因为编译代码时str(a)
的结果是未知的;你不能将任何对象绑定到另一个对象,你需要有一个引用(所以一个名称,一个属性,一个列表索引,或一个字典键等)。
答案 2 :(得分:0)
写
b = str(a)
取代
str(a)=b
您遇到错误,因为您正在尝试为函数str()
赋值>>> SyntaxError: can't assign to function call