Pythonにおける文字列マッチング方法format

2392 ワード

python 3の子供靴を使用して、本稿を見る必要はありません.f-string(クリックして見る)方法でマッピングパラメータを使用することをお勧めします.使用はもっと簡単で、可読性がもっと強いです.
一、概説
  • str.format():マッピングパラメータ、値フォーマット;
  • 本文はその の用法だけを紹介し、 は自分でGoogle/baiduしてください.
  • の利点
  • データ型の問題に注目する必要はない
  • は無限のパラメータを受け入れることができ、位置は順序
  • でなくてもよい.
  • 単一パラメータは複数回出力可能であり、パラメータ順序は異なる
  • であってもよい.
  • 充填方式が柔軟で、位置合わせ方式が強い
  • 二、マッピング--伝参
  • 位置:パラメータの位置
    '{0} {1}'.format("Hello", "XingZhe")
    -- >  'Hello XingZhe'
    
    '{0}_{0}'.format("Hello", "XingZhe")
    -- > 'Hello_Hello'
    
    '{}_{}'.format("Hello", "XingZhe”) 
    -- > 'Hello_XingZhe'
    
    '{1} {0} {1}'.format('Hello','XingZhe')
    -- > 'XingZhe Hello XingZhe'
    
  • を厳格に制御する必要がある.
  • キーワード:コードの可読性が強い;複数の値を挿入するには、1つのパラメータを入力するだけです.
    'I am {name}, age is {age}'.format(name = 'XingZhe', age = '29')
    -- > 'I am XingZhe, age is 29'
    
  • リスト
    list1 = ['world','python']
    'Hello {names[0]}, I am {names[1]}'.format(names = list1)
    -- > 'Hello world, I am python'
    
    'Hello {0[0]}, I am {0[1]}'.format(list1)
    -- > 'Hello world, I am python'
    
  • 辞書:辞書にアクセスするkeyは、引用符を必要とせず、format()のパラメータに星を付けてファジイマッピングを表す.
    site = {"name":"    ", "url":"[www.runoob.com](http://www.runoob.com)"}
    "Hello {domain[name]}, I am {domain[url]}".format(domain = site)
    -- > 'Hello     , I am [www.runoob.com](http://www.runoob.com)'
    
    "Hello {name}, I am {url}".format(**site)
    -- > 'Hello     , I am [www.runoob.com](http://www.runoob.com)'
    
  • class Sentence:
        def __init__(self, name, age):
            self.name = name
            self.age = age
        def __str__(self):
            return 'The boy is {self.name}, age is {self.age} old'.format(self=self)
    
    print(Sentence('XZ', 29))
    -- > The boy is XZ, age is 29 old
    
  • 下標
    names = ["xiaoming", "xiaoli","xiaohong"]
    ages = [28,16,9]
    
    "The bos is {0[2]}, age is {1[1]}".format(names,ages)
    -- > 'The bos is xiaohong, age is 16'