
3.2
関数
77
def f():
a = 5
b = 6
c = 7
return a, b, c
a, b, c = f()
データ分析やその他の科学分野では、これをよくやることがあります。ここでは、関数は実際には1
つのオブジェクトを戻しています。つまり、タプルを戻し、それが結果格納用の変数に分解されている
のです。先ほどの例は、次のように書き換えることもできます。
return_value = f()
この場合は
return_value
は、関数が戻している
3
つの変数を要素として持つタプルになっています。
先ほどの例において、やるといいかもしれない方法として、タプルの代わりにディクショナリを戻す方
法もあるかもしれません。
def f():
a = 5
b = 6
c = 7
return {'a' : a, 'b' : b, 'c' : c}
この別のやり方が便利かどうかは、やりたいことによって変わります。
3.2.3
関数はオブジェクトである
Python
の関数はオブジェクトなので、他言語では実装が難しいような多くの概念を簡単に表現する
ことができます。ここでは、何らかのデータクリーニングを行うときに、次の文字列のリストに対して
いくつかの変換処理を適用する必要がある場合を考えます。
In [171]: states = [' Alabama ', 'Georgia!', 'Georgia', 'georgia', 'FlOrIda',
.....: 'south carolina##', 'West ...