繁体   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