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入門 第10回|引数と戻り値を根本から理解して関数を使いこなそう!【高校情報1】
https://youtu.be/wlOkT_6Qce4?si=PIt_5FJbIoUGPQVL

目次に沿って、メモを残します。

00:00 今回のテーマ

00:47 2種類の関数

提供されている関数
→組み込み関数

・組み込み関数一覧
https://docs.python.org/ja/3/library/functions.html

自分で作る関数
→ユーザー定義関数

01:54 関数の作り方

def 関数名(引数、・・・):
【処理】

defとは、definititon:定義

関数の動きを理解するには、2つの値の動きを理解する必要がある

関数とはあるところから呼び出して使うことになりますが、
関数の呼び出し元から受け取ることができます。受け取る値のことを引数と呼びます

引数:呼び出し元から受け取る値
戻り値:関数の処理のあとに呼び出し元に返す値. return文 で指定
(returnを指定しない場合は None が返る)

03:58 引数と戻り値の動き

プログラムを実行したときに、数学の点数と英語の点数を入力すると、画面に表示したり、2つの平均点を表示したりそのようなプログラムがあったとします。

関数を使うときには「呼び出す側」と「呼び出される側」がある

引数と戻り値があるないパターンの一例

引数× 戻り値×

def usage ():
    print("0=100の数値を")
    print("入力して下さい")

# 呼び出し方
usage()# これが呼んで、上記の関数に行って、処理を終えて、またここに処理内容が戻ってくるイメージ(戻り値ないけど

動きのイメージは、呼び出し元usage()→呼び出し先 関数def usage ():→usage()

引数◯ 戻り値×

def display (e, m):
    print("英語は", e, "")
    print("数学は", m, "")

# 呼び出し方
display(90,80)

動きのイメージは、呼び出し元display(90,80)→呼び出し先 関数def display (90,80):→display(90,80)これでprint文の内容が表示される

引数◯ 戻り値◯

def get_avg (e, m):
    a = ( e + m ) / 2
    return a

# 呼び出し方
avg = get_avg(90,80)

動きのイメージは、呼び出し元avg = get_avg(90,80)→呼び出し先 関数def get_avg (90,80):
→呼び出し元に計算結果を返す 85.0
イメージは、get_avg(90,80) これが、85.0 になるイメージ。avg = 85.0

引数と戻り値を理解することが関数の動きを読み取るコツ

10:02 サンプルプログラム

【英語と数学の平均点を計算】0~100の数値を入力して下さい
英語の点数を入力 ->【ここに入力すると掲載される仕組み】

英語をの点数を入れると、自動で、「数学の点数を入力 ->」の入力項目が表示される入力すると、その下に
英語は90点
数学は80点
平均は85.0です
と表示される簡単なプログラム

def usage ():
    print("【英語と数学の平均点を計算】")
    print("0~100の数値を入力して下さい")

def display (e, m):
    print("英語は", e, "")
    print("数学は", m, "")

def get_avg (e, m):
    a = ( e + m ) / 2
    return a

usage()

eng = int(input("英語の点数を入力 ->"))
math = int(input("数学の点数を入力 ->"))

display(eng, math)

avg = get_avg(eng, math)
print("平均は", avg, "")

最初の3つの関数は、メインの方で呼び出されると処理が走る箇所

メインの箇所はusage()から下。
usage()が呼ばれるとdef usage ():が走る。
引数がないので、呼び出し先も呼び出し元もない状態

次に


eng = int(input("英語の点数を入力 ->"))
math = int(input("数学の点数を入力 ->"))

# input(""英語の点数を入力 ->"")の部分から処理され、コンソール上から数値を入力されるとここに入る。例えば90と入力すると

eng = int(input("90"))

# そして、90はint関数に渡されて、このようになります
# 結果、整数の90に置き換わる
eng = 90

次にDisplay関数に渡される

display(eng, math)

#  ↓

display(90, 80)

# 上記が下記に渡されて
def display (e, m):
    print("英語は", e, "")
    print("数学は", m, "")
# 数字は下記のところ入る
def display (90, 80):
    print("英語は", 90, "")
    print("数学は", 80, "")

次に平均を計算するところ
上記の様にengとmathには90, 80が入る


avg = get_avg(eng, math)
print("平均は", avg, "")

# 上記が動くと下記の関数が走り出す
def get_avg (e, m):
    a = ( e + m ) / 2
    return a

# 上記が動くと下記に戻って置き換わる
avg = 85.0

13:56 まとめ

この様に、プログラムは行ったり来たりして動いています。
処理が追えるようになればもっとプログラムが楽しくなる!

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?