避免重复相同的论点结构形式

2024-09-28 19:20:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前在我的代码中使用字符串格式,但是我发现我很难编码来显示重复的变量。有没有更有效的方法

print("Hello this is {} and {} and {} - Hello this is {} and {} and {} ".format(versionP, versionS, versionT, versionP, versionS, versionT))

结果是我想要的,但我需要在几个例子中重复这一点,可能会变得乏味。有没有办法只写一次变量?你知道吗


Tags: and方法字符串代码formathello编码is
2条回答

Python 3.6版

我发现它干净而简单:

print(f"Hello this is {versionP} and {versionS} and {versionT} - 
        Hello this is {versionP} and {versionS} and {versionT}")

甚至可以在f格式或nested f-strings中使用evaluate方法

您可以指定位置,str.format将知道要使用哪些参数:

a, b, c = 1, 2, 3
string = "This is {0}, {1}, and {2}. Or, in reverse: {2}, {1}, {0}"
string.format(a, b, c)
# 'This is 1, 2, and 3. Or, in reverse: 3, 2, 1'

您还可以传递关键字参数,或解压缩字典:

a, b, c = 1, 2, 3
string = """This is {versionP}, {versionS}, and {versionT}. 
            Or, in reverse: {versionT}, {versionS}, {versionP}"""
# string.format(versionP=a, versionS=b, versionT=c)
string.format(**{'versionP': a, 'versionS': b, 'versionT': c})
# This is 1, 2, and 3. 
#       Or, in reverse: 3, 2, 1

相关问题 更多 >