Python连接字符串语句放在单独的行上

Jaf*_*son 0 python string-concatenation python-3.x

这是我尝试过并得到错误:

a = 1
b = 2
c = 3
d = 4
e = 5

if(1):
    get = str(a) +","       #Line 1
          +str(b) +","      #Line 2
          +str(c) +","      #Line 3
          +str(d) +","      #Line 4
          +str(e)       #Line 5
else:
    get = ",,,,,"
print(get)
Run Code Online (Sandbox Code Playgroud)

错误:

  File "testingpython.py", line 8
    +str(b) +","      #Line 2
    ^
IndentationError: unexpected indent
Run Code Online (Sandbox Code Playgroud)

然后我尝试删除空格:

a = 1
b = 2
c = 3
d = 4
e = 5

if(1):
    get = str(a) +","       #Line 1
+str(b) +","      #Line 2
+str(c) +","      #Line 3
+str(d) +","      #Line 4
+str(e)       #Line 5
else:
    get = ",,,,,"
print(get)
Run Code Online (Sandbox Code Playgroud)

错误:

  File "testingpython.py", line 12
    else:
       ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

请允许我告诉我如何将字符串值分配给变量时将它们放在不同的行上.

Zda*_*daR 6

在Python中,如果语句不在括号内,我们通常使用\symbol将单个语句分成多行:

result = "a" + "b" + "c" 
Run Code Online (Sandbox Code Playgroud)

可以被谴责为:

result = "a" + \
         "b" + \
         "c" 
Run Code Online (Sandbox Code Playgroud)

或者如果语句带括号,则不需要\:

result = ("a" + 
          "b" + 
          "c")
Run Code Online (Sandbox Code Playgroud)


Ral*_*alf 5

最简单的解决方案是将这些线包裹在括号内以表明它们属于一起:

if(1):
    get = ( str(a) +","       #Line 1
          +str(b) +","      #Line 2
          +str(c) +","      #Line 3
          +str(d) +","      #Line 4
          +str(e)       #Line 5
    )
else:
    get = ",,,,,"
print(get)
Run Code Online (Sandbox Code Playgroud)

但是您可以使用更短的方法:

get = ','.join(str(s) for s in [a, b, c, d, e])
Run Code Online (Sandbox Code Playgroud)