从Python中的string和整数中创build一个string
当我尝试获取一个整数并将“b”前置到它时,我得到这个错误,将它转换成一个string:
File "program.py", line 19, in getname name = "b" + num TypeError: Can't convert 'int' object to str implicitly
这与这个function有关:
num = random.randint(1,25) name = "b" + num
name = 'b' + str(num)
要么
name = 'b%s' % num
正如S.Lott所指出的那样,混合运算符'%'已经被Python 3及更高版本弃用了。 我从INTERCAL那里偷走了一个名字,但是我就是这么说的,至less想看一遍,就像渡渡鸟 – 从地球上消失了一样。
Python不会像JavaScript或PHP这样的语言自动转换types。
您必须将其转换为string,或使用格式化方法。
name="b"+str(num)
或printf风格格式…
name="b%s" % (num,)
或新的.formatstring方法
name="b{0}".format(num)
是的,python没有隐式intstring转换。
尝试str(num)
来代替
已经给出了正确的答案,但是我想要声明,并且每次打算将var用作string时,应该始终使用str(var),无论您是否知道它是否是string。
比对不起更安全。
name = "b{0:d}".format( num )