最新のWeb情報ならアールイズム

リンク依頼 サイトマップ 最初に

関数

関数(function)とは指定した値に対して、定められた処理を実行して結果を返すことです。
今までにもprint()関数やlist()関数などの関数を実行してきました。
print()関数では()内に表示した値を設定し、それを出力しました。
pythonに組み込まれている関数はたくさんあります。以下に関数を記載します。

abs(),dict(),help(),min(),setattr(),all(),dir(),hex(),next(),slice(),any(),divmod(),id(),object(),sorted(),ascii(),enumerate(),input(),oct(),staticmethod(),bin(),eval(),int(),open(),str(),bool(),exec(),isinstance(),ord(),sum(),bytearray(),filter(),issubclass(),pow(),super(),bytes(),float(),iter(),print(),tuple(),callable(),format(),len(),property(),type(),chr(),frozenset(),list(),range(),vars(),classmethod(),getattr(),locals(),repr(),zip(),compile(),globals(),map(),reversed(),__import__(),complex(),hasattr(),max(),round(), delattr(),hash(),memoryview(),set()

イテレータとは配列やデータ構造の各要素を一つずつ順に取り出すことのできる仕組みで、iter()関数で行えます。
next()関数でイテレータを一つずつ取り出せます。
では実際に以下のコマンドを入力して実行してみてください。

>>> abc=[1,2,3,4,5,7]
>>> iter(abc)

>>> x=iter(abc)
>>> next(x)
1
>>> next(x)
2
>>> next(x)
3
>>> next(x)
4

ジェネレーターとは配列やデータ構造の各要素を生成していく仕組みで、yeidld文を使用して作成します。
イテレータを作成するイメージです。
では実際に以下のコマンドを入力して実行してみてください。

>>> def gen():
...     yield 1;
...     yield 2;
...     yield 3;
...
>>> x=iter(gen())
>>> next(x)
1
>>> next(x)
2
>>> next(x)
3
>>> next(x)
Traceback (most recent call last):
  File "", line 1, in 
StopIteration

help()関数を利用することで関数の詳細を確認することができます。

自分で関数を作成することもできます。
関数を作成するには関数を定義する必要があります。
関数の定義には以下のように記載します。

def 関数名 (引数1,引数2,…):
    関数の処理
    return 戻り値

引数とは関数で使用する値で、戻り値とは関数を実行したときに返ってくる値です。
関数に戻り値がない場合、returnは省略できます。
関数を実行するにはprint()関数と同じように関数名(引数1,引数2,…)とします。
...はひとまとまり(入力途中)を意味するもので抜けるときは何も入力せず、Enterキーを押します。
...のときにインデントとして半角スペースを4つ入れるのを忘れないでください。

では実際に以下のコマンドを入力して実行してみてください。

>>> def abc(a,b,c):
...     d=a+b-c
...     return d
...
>>> abc(1,2,3)
0

変数について以前学習しましたが、ローカル変数とグローバル変数というものがあります。
ローカル変数とは関数の中でだけ有効な変数で、グローバル変数とは関数の外側(別の関数)でも共通で利用できる関数です。
globalで宣言し、変数の有効範囲をスコープといいます。
では実際に以下のコマンドを入力して実行してみてください。

>>> def efg():
...     global value
...     value=10
...
>>> efg()
>>> print(value)
10

if文に行く

リスト・タプル・集合型・辞書型に戻る