我非常喜欢使用字典格式化字符串.它帮助我阅读我正在使用的字符串格式,并让我利用现有的字典.例如:

class MyClass:
    def __init__(self):
        self.title = 'Title'

a = MyClass()
print 'The title is %(title)s' % a.__dict__

path = '/path/to/a/file'
print 'You put your file here: %(path)s' % locals()

然而,我无法理解python 3.x语法,用于执行相同的操作(或者如果可能的话).我想做以下几件事

# Fails, KeyError 'latitude'
geopoint = {'latitude':41.123,'longitude':71.091}
print '{latitude} {longitude}'.format(geopoint)

# Succeeds
print '{latitude} {longitude}'.format(latitude=41.123,longitude=71.091)

推荐答案

由于这个问题特定于Python3,下面使用the new f-string syntax,从Python3.6开始提供:

>>> geopoint = {'latitude':41.123,'longitude':71.091}
>>> print(f'{geopoint["latitude"]} {geopoint["longitude"]}')
41.123 71.091

注意外部的单引号和内部的双引号(你也可以反过来做).

Python相关问答推荐

对某些列的总数进行民意调查,但不单独列出每列

Vectorize多个头寸的止盈/止盈回溯测试pythonpandas

在Wayland上使用setCellWidget时,try 编辑QTable Widget中的单元格时,PyQt 6崩溃

优化器的运行顺序影响PyTorch中的预测

利用Selenium和Beautiful Soup实现Web抓取JavaScript表

Odoo 16使用NTFS使字段只读

什么是最好的方法来切割一个相框到一个面具的第一个实例?

字符串合并语法在哪里记录

在两极中过滤

Pandas Data Wrangling/Dataframe Assignment

在pandas数据框中计算相对体积比指标,并添加指标值作为新列

lityter不让我输入左边的方括号,'

使用BeautifulSoup抓取所有链接

如何在PySide/Qt QColumbnView中删除列

Python Tkinter为特定样式调整所有ttkbootstrap或ttk Button填充的大小,适用于所有主题

处理具有多个独立头的CSV文件

如何防止Pandas将索引标为周期?

数据框,如果值在范围内,则获取范围和

如何根据一定条件生成段id

为什么这个正则表达式没有捕获最后一次输入?