0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

python 関数の基礎(自分用)

Posted at

pythonを学ぶ上で、避けては通れない関数について学ぶ。

1.基本編(再利用可能な関数)

関数の構造は次のようになっており、def 関数名(引数):と表される。
関数として定義しておくと、後からいつでも再利用が可能となるため、同じような処理が続く場合などは関数にすることを検討すること。
関数内に関数を書くことも可能であり、global変数やlocal変数という概念も出てくるが、それについては後ほどまとめることにする。

# "Hello World"と出力する関数(引数なし)

def hello():
    print("Hello World")

say_hello = hello()
# 出力 ⇒ Hello World


# 引数の計算結果を出力する関数(引数あり)

def add_calc(a,b):
    c = a + b
    print(c)
    return c

result = add_calc(1,1)


# 出力 ⇒ 2

2.lambda(無名関数)

計算の途中で1回だけ使いたいなど再利用をしない場合については無名関数を用いることで、コードが1行になりシンプルな記述にすることができる。
lambda関数を単体で使うよりは、map、fitter、sortedといった文法と組み合わせて使うことが一般的である。

# filter関数とlambda関数(無名関数)の組み合わせ

def list_append():
    num_list = [i for i in range(1, 6)]
    return num_list

numbers = list_append()
odd_numbers = list(filter(lambda x: x % 2 != 0, numbers))
print(odd_numbers)


# 出力 ⇒ [1,3,5]

3.まとめ

1.まとまった処理は関数化しておくことで、可読性、保守性の向上につながる。
(いわゆるコンポーネント化という概念)
2.lambda は def による関数の定義を一行にまとめることができる
3.基本的には他の関数・メソッドなどと組み合わせて用いる
4.def の代わりにそのまま使うことは推奨されていない

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?