pf-8. 式の抽象化と関数
Python 入門)
URL: https://www.kkaneko.jp/pro/pf/index.html
1
金子邦彦
プログラムの中のバグの解決は面倒である
プログラムの修正時にバグは増えるという
ことはよくある
2
式の抽象化
3
類似した複数の
変数 a を使って,複数
を1つにまとめる
抽象化
a* 1.1
100 * 1.1
150 * 1.1
400 * 1.1
式の抽象化と関数
4
類似した複数の
変数 a を使って,複数
を1つにまとめる
抽象化
a* 1.1
100 * 1.1
150 * 1.1
400 * 1.1
a * 1.1」を含む
関数 foo 定義
関数 foo を使用.
100, 150, 400 引数
抽象化がなぜ大切なのか
プログラミングでの根本問題は何でしょうか?
誤り(バグ)の無いプログラムの作成
プログラミングの一番の基礎は何でしょうか?
抽象化を行うこと
式の抽象化により冗長な記述を避けることができ,
バグの防止やプログラムの変更が容易になる.
5
関数定義
6
この関数本体
return a * 1.1
この関数は,式「a * 1.1」に,名前 foo を付
けたものと考えることもできる
式の抽象化と関数
7
類似した複数の
実行結果
関数の定義と使用
同じ
実行結果になる
抽象化前 抽象化後
trinket
Trinket オンラインPythonHTML 等の学習サイト
有料の機能と無料の機能がある
自分が作成した Python プログラムを公開し、他の人に実
行してもらうことが可能(そのとき、書き替えて実行も可
能)
Python の標準機能を登載、その他、次のモジュールや
パッケージがインストール済み
math, matplotlib.pyplot, numpy, operator, processing, pygal,
random, re, string, time, turtle, urllib.request
8
trinket Python, HTML などのプログラムを書き実行できる
サイト
https://trinket.io/python/0fd59392c8
のように、違うプログラムには違う URL が割り当てられる
実行が開始しないときは、「実行ボタン」で実行
ソースコードを書き替えて再度実行することも可能
trinket でのプログラム実行
9
ソースコードの
メイン画面 実行結果
実行、STOP ボタン
演習
関数を定義し使ってみる
ページ11
【トピックス】
trinket の利用
式の抽象化と関数
関数定義
def
10
trinket の次のページを開く
https://trinket.io/python/68a090babf
実行結果が,次のように表示されることを確認
11
プログラムの中のバグの解決は面倒である
バグ解決と防止には抽象化と関数が不可欠です。関数は
特定の処理の部分を抜き出したもの考えることもでき
ます。抽象化と関数により、同じプログラムを繰り返し
書く必要が減りエラーの原因となる可能性を低減し,
全体のコードの品質を高めることができます。
プログラムの修正時にバグは増えるという
ことはよくある
プログラムの修正は慎重に行うべきです.関数や抽象化
の活用はその作業を容易にします。特定の処理の部分を
関数として定義することで、その処理を何度も書く手間
を省き、修正時のエラー可能性を減らします。その結果、
バグの発生リスクを低減します。
12
全体まとめ
式の抽象化は,類似した複数の式を一つにまとめ
こと
式の抽象化により冗長な記述を避けることができ,
バグの防止やプログラムの変更が容易にる.
関数式に名前をつける方法で,これによりプロ
グラムの再利用性が向上する
def foo(a):
return a * 1.1
13