~~NOCACHE~~ ## 10.関数(Python) ・関数はdefブロックで定義 ・括弧()内に引数を指定 ・returnで戻り値を取得 def 関数名(引数1, 引数2, ...): 処理 return 戻り値 ### 関数の定義例 #### 返り値なし、引数なしの場合 def function(): print('Python') function() #### 返り値あり、引数なしの場合 def function(): str = 'Python' return str result = function() print(result) #### 返り値あり、引数ありの場合 def function(a, b): x = a + b return x result = function(8, 3) print(result) ### 引数の定義例 #### 位置引数(何番目の引数か) def function(science, society, english): print('science =', science) print('society =', society) print('english =', english) function(30, 60, 80) #### キーワード引数(どのキーワードの引数か) def function(science, society, english): print('science =', science) print('society =', society) print('english =', english) function(english=80, science=30, society=60) #### デフォルト引数 def function(science=50, society=50, english=50): print('science =', science) print('society =', society) print('english =', english) function() #### デフォルト引数でlistやdictを使いたい場合 def function(point, score=None): if score is None: score = [] score.append(point) return score function(100, [1, 2, 3, 4]) # [1, 2, 3, 4, 100] ### 引数を集約して渡す方法 #### タプル def function(name, *args): print('Name =', name) for _ in args: print(_) function('tanaka', 80, 60, 100) # Name = tanaka # 80 # 60 # 100 #### 辞書 def function(**kwargs): print(kwargs) function(tanaka=80, sato=60, suzuki=100) # {'tanaka': 80, 'sato': 60, 'suzuki': 100} def function(**kwargs): for key, value in kwargs.items(): print(key, value) score = {'tanaka': 80, 'sato': 60, 'suzuki': 100} function(**score) # tanaka 80 # sato 60 # suzuki 100 {{tag>Python}}