Python 3打印变量

时间:2013-07-23 22:13:52

标签: python variables printing

有没有更好的方法在python3中打印变量集?

在PHP中,我使用过这样的东西: echo "http://$username:$password@$server:$port"

但是在python 3中,它看起来非常难看,而且用所有那些+'s

打字的时间更长

print('http://'+username+':'+password+'@'+server+':'+port)

在python中有类似“$”符号的东西吗?谢谢。

1 个答案:

答案 0 :(得分:4)

Python不支持字符串插值,但您可以使用字符串格式化来实现:

'http://{}:{}@{}:{}'.format(username, password, server, port)

或者使用关键字参数(如果您已经在字典中使用了参数,则最好使用):

'http://{username}:{password}@{server}:{port}'.format(
    username=username,
    password=password,
    server=server,
    port=port
)

你也可以滥用locals()一点,但我不建议这样做:

'http://{username}:{password}@{server}:{port}'.format(**locals())