Python-3.x で辞書を使用して文字列をフォーマットするにはどうすればよいですか? 質問する

Python-3.x で辞書を使用して文字列をフォーマットするにはどうすればよいですか? 質問する

私は、文字列をフォーマットするのに辞書を使うのが大好きです。辞書を使うと、使用している文字列フォーマットを読みやすくなり、既存の辞書を活用できるようになります。例えば、次のようになります。

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)

ベストアンサー1

これはあなたにとって良いことですか?

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

おすすめ記事