如何在打印时消除变量和字符串之间的空格

4
name = 'Alan'
print('My name is', name, '.')

当运行这两行代码时,'Alan'和句号之间会有一个空格。我该如何去掉它们之间的空格?

使用 trim 函数 - Shireesha Parampalli
使用格式化字符串,例如 print(f'My name is {name}.') 或使用 print 函数的可选参数。 - tehhowch
4个回答

8
你可以设置sep='',但需要显式地在名称前面加上空格:
print('My name is ', name, '.', sep='')

更好的方法可能是使用字符串格式化:
print('My name is {}.'.format(name))

使用Python 3.6+,您可以使用f-strings来更简洁地完成同样的事情:

print(f'My name is {name}.')

最不灵活的选择是将字符串简单地连接在一起:

print('My name is ' + name + '.')

当你设置sep=''时,你甚至可以复制print内部的操作:

print(''.join(['My name is ', name, '.']))

0

你可以使用。

name = 'Alan'
print('My name is', name + '.')

或者

name = 'Alan'
print('My name is '+ name + '.')

现象上是正确的,但是逗号后面没有加空格。 - Mad Physicist
@MadPhysicist 我提到打印的原因是因为我知道如果你不在打印时这样做,它会形成一个元组。 - XXX
你的推理是误导性的,即使最终结果恰好匹配。 - Mad Physicist
@MadPhysicist 好的,我会删除我的推理。 - XXX

-1
这里是神奇的地方。
name = 'Alan'
print('my name is '+name+'.')

-1

有两种好的方法可以实现这个。最好的方法是使用print的可选参数,即sep

print('My name is', name, '.', sep='')

另一种方法是使用字符串拼接。它稍微慢一些,但您可以将该概念扩展到许多其他领域。连接字符串会将它们无间隔地连接在一起:
print('My name is' + name + '.')

两个版本都会在名称前删除空格。 - Mad Physicist

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接