Python のお勉強4 ( 関数 )

Python のお勉強シリーズ」第4回目は関数について、サンプルコード書いてみました。

■ function.py

#coding: cp932

def func1(x, y):
    print(x, y)

#デフォルト値指定
def func2(x="hoge", y="uga"):
    print(x, y)

#可変長引数 ( シーケンス )
def func3(*x):
    print(x)

#可変長引数 ( 辞書 )
def func4(**x):
    print(x)

def func5():
    pass

def func6():
    return "return value"

if __name__ == "__main__":
    print("----- func1 -----")
    func1("aaa", "bbb")
    func1(y="aaa", x="bbb") #キーワード指定

    print("----- func2 -----")
    func2()
    func2("aaa")

    print("----- func3 -----")
    func3("aaa", "bbb", "ccc")

    print("----- func4 -----")
    func4(x="aaa", y="bbb", z="ccc")

    print("----- func5 -----")
    r = func5()
    print(r) #return の指定が無い場合は戻り値は None

    print("----- func6 -----")
    r = func6()
    print(r)

■ 実行結果

----- func1 -----
aaa bbb
bbb aaa
----- func2 -----
hoge uga
aaa uga
----- func3 -----
('aaa', 'bbb', 'ccc')
----- func4 -----
{'x': 'aaa', 'z': 'ccc', 'y': 'bbb'}
----- func5 -----
None
----- func6 -----
return value


本当に基本的な内容のみなので、あまり書くことがないのですが、、、

* 可変長引数として *args ( 引数シーケンス:指定された引数がリストに渡される )、**args ( 引数辞書:指定された引数が辞書の渡される ) という書き方がある
* return 書かない場合の戻り値は None になる

というぐらいでしょうか。


関数のお勉強としては、他にグローバル変数 / ローカル変数の書き換えジェネレータ関数関数デコレータとかあるみたいですが、それはまた今度で。

以上になります。

[ 環境情報 ]
Windows 7 SP1
Python 3.4.3