Pythonの学習 8章 関数

Pythonスタートブック8章 関数をまとめます。

関数の作成

組み込み関数

今まで使用してきたのは元々用意されていた関数(組み込み関数)である。
例えば、「リスト型データ」の長さを図る関数に"len"がある

test_list=[12,4,3,99]  
print(len(test_list))  

長さを図るのにlenを使用せずに図る場合は以下のようになる

length=0  
for i in test_list:  
    length+=1
print(length)

上記のように、関数を一から書くと長くなってしまうので、オリジナルの関数は必要不可欠である。

オリジナルの関数(引数なし)

では、オリジナルの関数を作成してみる(def)
引数を取らない、「i=3」表示する関数。"kansu"を作成する

def kansu():
    print("i=3")

関数を呼び出してみると、i=3が表示される

kansu()

オリジナルの関数(引数あり)

次に引数ありの関数を作成する。与えた数を2倍にする関数"kansu2" を作成する。

def kansu2(x):
    print(2*x)

作成した関数を呼び出してみると、"6"が表示される

kansu2(3)

モジュールを作成する

組み込みモジュール

Pythonには多くの関数があらかじめ用意されていて、機能ごとにモジュールとしてまとめられている。
例えば"random"モジュールを使用してみる。
モジュールをインポートして

import random 

randomモジュールの中の「0以上1未満の少数をランダムに返す"random()"」を使用する

a=random.random()
print(a)

指定した区間でランダムに値を返すrandintを使用してみる

b=random.randint(1,10)

オリジナルのモジュールの作成

同じプロジェクト内に、先ほど試した2倍にする関数を"test_module.py"としてを作成し、実行してみる。これからわかる通り、モジュールとは、Pythonスクリプトファイル(.pyファイルのこと) と同義である。

#test_module.py
def function(x):
    print(2*x)

作成したモジュールを呼びだす。

import test_module
test_module.function(2)

別の記載方法でもモジュールは呼び出せる。module.pyを作成して試してみる

#module.py
def ichi():
    print("1")

module.pyを呼び出してみる

from module1 import ichi
ichi()

関数を変数に代入する

"len"は長さを返す関数である.以下を実行すると6が買える

print(len("banana"))

関数を変数に代入する

Nagasa=len

同様に使用できる

print(Nagasa("Apple"))

関数を引数にとる

"str"は引数を文字列へ変換してくれる関数

print(str(3))

"map"関数は引数を2つとる 1つ目は関数、2つ目はリスト リストの全要素へ関数を適用して、リスト型で返す 今回は先ほど作成した2倍にするモジュールを、リスト[0,1,3,5]へ適用する

list(map(test_module.function,[0,1,3,5]))