如何在Python 3中将一个print命令拆分为两行代码
我想用两行代码打印出一条连续的信息,应该怎么做呢?
print('Hello how are you')
print('today?')
但是这样做给我的结果是
Hello how are you
today?
而我想要的是
Hello how are you today?
5 个回答
0
你可以用 f-string 来创建一个新变量,把两个字符串连接在一起。这样每次你使用这个变量的时候,它就会把这两个字符串合在一起给你。
比如:
在这段代码下面,每次你调用 greetings 这个变量时,它都会把 h 和 g 这两个字符串一起给你。
h = ("Hello, how are you")
g = ("today?")
greetings = f"{h} {g}"
print(greetings)
输出结果
Hello, how are you today?
1
为了补充马丁的精彩例子,这里有一个不需要逗号的打印语句(只是继续同一个字符串):
print('Hello, how are you '
'today?')
# Output: Hello, how are you today?
用括号包起来的字符串也可以使用类似的写法:
string = ('Hello, how are you '
'today?')
print(string)
# Output: Hello, how are you today?
4
一个优雅的解决方案是用两行代码(正如你所问的),但只用一次print()函数。仔细看看括号:
print('Hello how are you',
'today?')
它会打印出:
Hello how are you today?
你可以把print的括号留着不闭合,并且好好缩进。这种写法是“利用Python在括号、方括号和大括号内的隐式换行”,这个知识可以在这里学到: https://www.python.org/dev/peps/pep-0008/#indentation (PEP 0008 -- Python代码风格指南)
print()函数还会自动在元素之间加一个空格——如果你在想“你”和“今天”之间的空格是怎么来的。
注意:在你的问题中,你没有解释为什么需要“用两行代码打印一条连续的信息”。所以也许你的代码中两次调用print语句并不是连续的两行。在这种情况下,我的回答当然不适用。但你的例子中两个print()函数是连续的,所以我给出的答案是“显而易见”的。
4
@Martijn的回答很全面,但我的体验可能不同。
一般来说,我觉得多次调用print
看起来不太好。我更喜欢把字符串分成多行,然后在同一行打印出来。例如:
first_part = "Hello how are you"
second_part = "today?"
thing_to_print = ' '.join([first_part,second_part])
print(thing_to_print)
在print
中使用end
这个参数是有用的,但对我来说,它感觉更像是个小技巧,而不是帮助。
7
使用 end=' '
可以把换行符替换成空格:
print('Hello how are you', end=' ')
print('today?')