簡體   English   中英

如何在 python 中使用這種樣式格式的文本打印花括號

[英]How can I print curly braces with this style formatted text in python

以下代碼 -

d = {'name':'Joe',
     'age': 25
    }

mypara ='''
My name is {name}.
   - I am {age} year old.
'''

print(mypara.format(**d))

給出以下 output:

My name is Joe.
   - I am 25 year old.

我怎樣才能得到 output 如下所示:

My name is {Joe}.
   - I am {25} year old.

以下工作,但我正在尋找使用字典而不是變量 -

name = 'Joe'
age = 25

mypara = f'''
My name is {{{name}}}.
   - I am {{{age}}} year old.
'''

print(mypara)

Output:

My name is {Joe}.
   I am {52} year old.

這有效:

d = {'name':'Joe', 'age': 25}

my_para = f'''
My name is {{{d['name']}}}.
   - I am {{{d['age']}}} years old.
'''

print(my_para)

您使用多行字符串有什么原因嗎?

您可以直接從字典中分配:

d = {'name':'Joe',
     'age': 25
    }
mypara ='''
My name is {'''+ str(d['name'])+'''}.
   - I am {''' + str(d['age']) + '''} year old.
'''
print mypara

Output

My name is {Joe}.
   - I am {25} year old.

希望這能回答你的問題!!!

replace為你做打字。

請注意,此代碼不包含 f 字符串。

將您的字符串寫為:

mypara = '''
My name is {name}.
   - I am {age} year old.
'''

然后使用:

mypara = mypara.replace('{','{{{').replace('}','}}}') 

這可以同時進行,而不是與re.sub順序進行,並且可能會根據輸入進行更具體的替換。

生產:

mypara = '''
My name is {{{name}}}.
   - I am {{{age}}} year old.
'''

然后當它通過以下方式格式化時:

mypara = mypara.format(name='Bob', age=45)

結果是:

mypara = '''
My name is {Bob}.
   - I am {45} year old.
'''

嘗試這個:

d = {'name':'Joe',
 'age': 25
}

mypara ='''
My name is {%(name)s}.
   - I am {%(age)s} year old.
'''

print(mypara % d)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM