无法将变量插入到字符串中

时间:2018-01-21 04:17:39

标签: python string

我对Python有点新意,此刻我陷入了困境:

c = 5
cmds.pointPosition(geo[0]+".cv[0]["+c+"2]", w=True)

它给了我错误:

  

错误:TypeError:文件第39行:强制转换为Unicode:   需要字符串或缓冲区,int找到#

问题是如何将变量c = 5放在第二个括号内,这样它就是7

3 个答案:

答案 0 :(得分:6)

尽可能避免字符串连接。这是str.format的一个很好的用例。

cmds.pointPosition("{}.cv[0][{}]".format(geo[0], c + 2), w=True)

假设c保持一个整数的值开始(否则,c + 2步骤失败)。

答案 1 :(得分:4)

Python不会像某些语言那样自动将整数转换为字符串表示形式。您需要使用str()format()或f-string明确地自行转换。

答案 2 :(得分:1)

c = 5
cmds.pointPosition(geo[0]+".cv[0][" + str(c) + "2]", w=True)

在Python中,你不能连接str和int。