【Python: 引数】いろいろな引数

序論

引数を使いこなすことによって,構成できるアプリケーションの自由度が高まる.例えば,ある関数だけで渡したい引数があったときの処理を追加できれば,コードの改変は最小限で済むはずだ.以下5つの引数を覚えていって欲しい.

本論

  1. 位置引数(Positional Arguments)
    最もよく使われる.順番さえ間違わなければ問題ない.私は量が増えると辞書型で渡してる.

    def func(a, b):
        print(a, b)
    
    func(1, 2) # a = 1, b = 2
  2. デフォルト引数(Default Arguments)
    切り替えるモードがあるときのデフォルト値としては良さそう.デフォルト値を与えてる引数は後ろに書かないといけない.

    def func(a, b=2):
        print(a, b)
    
    func(1)     # a = 1, b = 2
    func(1, 3)  # a = 1, b = 3
  3. キーワード引数(Keyword Arguments)
    順番無視して書き込める.一応,引数の意味が確認できるので,可読性は上がる.

    def func(height, weight):
        print("height=",height, ",weight=",weight)
    
    func(weight=70, height=168) # height = 168, weight = 70
    
    
  4. 可変長引数(Arbitrary Arguments)
    引数の数が定まっていない場合,* を頭につけて,リストに任意の数渡せる.記述する順番は,位置引数の後に記述し,また,後述する可変長キーワード引数の前に記述する.

    def func(a, *args):
        print("a=",a, ",*args=",args)
    
    func(1)         # a=1, *args=
    func(1,2,3,4)   # a=1, *args=2,3,4
  5. 可変長キーワード引数(Arbitrary Keyword Arguments)
    任意の数のキーワード引数を受け取れる.一番最後に記述する.関数定義時に未定義の任意の数の名前を受け取りたい時に必要.

    def func(**kwargs):
        for key, value in kwargs.items():
            print(f"{key}: {value}")
    
    func(a=1, b=2, c=3) # a:1, b:2, c:3

 

結論

今回は,引数についてまとめた.意識しておくとふとした時に自由度があがる.知らなくても問題ないが知っておくと少し読みやすいコードになるので,意識しておくに越したことは無い.

Follow me!

コメントする

PAGE TOP