tora-muscle / KURENAI_Python_Tutorial

https://repository.kulib.kyoto-u.ac.jp/dspace/handle/2433/265459
0 stars 0 forks source link

7. 関数を使った処理のカプセル化 #7

Open tora-muscle opened 11 months ago

tora-muscle commented 11 months ago

7.1 本章の学習の目標

  1. 本章では前章の例題を使って,まとまった処理を関数として定義して使用す ることを学びます.
  2. 関数に値を引数として渡すことを学びます.
  3. 関数から呼び出し側に値を返り値として戻すことを学びます.
  4. 関数内で使う変数とその影響する範囲について学びます.
  5. 関数が利用されるパターンの類型を学びます.

前章と同様,この章でも多くのことを学びますが,後の章で具体的に使用する中 で身に着けることができますので,今の段階で細かなことをすべて覚えるのではな く,「何ができるのか」を知ることと,実際に書いてみることを体験する,と割り切 って学習してください.何が書かれていたか覚えてさえいれば,細かな事項は必要 になったときに教科書を見返して確認すればすみます.

tora-muscle commented 11 months ago

7.2 絶対値関数を作ってみる

演習 7-1 絶対値関数を作る プログラム 7-1,プログラム 7-2 を作成し動作を確認しなさい.

p7-1作成, p7-2作成

演習 7-2 エラーを体験する(5). プログラム 7-1, プログラム 7-2 は引数が数値であることを想定しています.例 えばプログラム 7-2 の 7 行目で float() 関数の呼び出しを忘れて a = input(">")) と書いてしまうと変数 a には文字列が代入されます.この場合に,どのようなエ ラーになるかを確かめてください.17 章「IDLE/Python でのエラーメッセージの読 み方」も併せて参照すること.

# 実行結果
#     if x < 0:
#        ^^^^^
# TypeError: '<' not supported between instances of 'str' and 'int'
tora-muscle commented 11 months ago

7.3 関数定義の書式

def 関数名(引数): 
    説明文字列
    関数として実行するブロック 
    return 返り値としてもどす値
tora-muscle commented 11 months ago

7.4 仮引数と実引数

tora-muscle commented 11 months ago

7.5 返り値

tora-muscle commented 11 months ago

7.6 前章の例題から

tora-muscle commented 11 months ago

7.7 関数 square_root() を実装する

演習 7-3 平方根を求めるプログラムの関数化 繰り返し平方根を求めるプログラムを関数 square_root() を定義して利用する形に書き換えなさい.

演習7-3

演習 7-4 平方根を求めるプログラムの関数化,その2 get_positive_numeral() も構成し,繰り返し平方根を求めるプログラムをこれと square_root() を利用する形に書き換えなさい

演習7-4

tora-muscle commented 11 months ago

7.8 関数内の変数の扱い

tora-muscle commented 11 months ago

7.9 関数の利用パターン

tora-muscle commented 11 months ago

7.10 関数の呼び出しと関数オブジェクトの引き渡し

def f():
print("f says Hello")
# 関数を引数でもらって実行する関数 
def F(y):
print("In F, ", end="")
y()
# f を実行
f()
# f says Hello
# f を F に渡して F を実行 
F(f)
# In F, f says Hello
tora-muscle commented 11 months ago

7.11 デフォルト引数値とキーワード引数

def f(a, b=2, c=3): 
    return a + b + c
f(1,1,1)
# 3
f(1)
# 6
f(1,c=2)
# 5