也许我太累了,看不到它,但是为什么这样做

cmds = '''
AA ''' + ''' BB
'''.splitlines()


造成

Traceback (most recent call last):
  File "<pyshell#15>", line 3, in <module>
    '''.splitlines()
TypeError: Can't convert 'list' object to str implicitly


这很好用:

cmds = '''
AA ''' + ''' BB
'''
print(cmds.splitlines())


最佳答案

splitlines方法在添加之前被调用,因此:

cmds = '''
AA ''' + ''' BB
'''.splitlines()


...等效于:

cmds = ('''
AA ''') + (''' BB
'''.splitlines())


...这意味着您正在尝试向字符串添加列表。

但是,在第二种情况下:

cmds = '''
AA ''' + ''' BB
'''
print(cmds.splitlines())


...您要先进行加法运算,然后对结果调用splitlines

关于python - Python 3:为什么str上的splitlines()会导致TypeError? (但不总是),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25795227/

10-12 18:40