po-6. クラス,コンストラクタ,メソッド

スライド概要

Python プログラミング演習
URL: https://www.kkaneko.jp/cc/po/index.html

profile-image

kunihikokaneko

@6674398749

作者について:

金子邦彦(かねこくにひこ) 福山大学・工学部・教授 ホームページ: https://www.kkaneko.jp/index.html 金子邦彦 YouTube チャンネル: https://youtube.com/user/kunihikokaneko

スライド一覧
シェア
埋め込む»CMSなどでJSが使えない場合

公開日

2021-12-21 12:02:41

各ページのテキスト

1. po-6. クラス,コンスト ラクタ,メソッド プログラミングの基礎を Python で学びたい人へ(全9回) URL: https://www.kkaneko.jp/cc/po/index.html 金子邦彦 1

2. アウトライン 6-1 クラス定義,コンストラクタ 6-2 メソッド 6-3 メソッドに関する演習 • メソッドを Python で扱えるよう になる. • メソッド内での属性やメソッド へのアクセスについて理解する. 2

3. 6-1. 復習 3

4. オブジェクト • プログラミングでのオブジェク トは,コンピュータでの操作や 処理の対象となるもののこと • オブジェクトは1つあるいは複 数のデータを持つことができる 4

5. メソッド • プログラミングのメソッドは, オブジェクトに属する操作や処 理のこと hero.moveDown() hero はオブジェクト moveDown() はメソッド 間を「.」で区切っている • 引数(ひきすう)とは,メソッ ドに渡す値のこと 5

6. 6-1.クラス定義, コンストラクタ 6

7. 問いかけ • Python で,オブジェクトの生成 はどのように行うのでしょう か? 7

8. Python のオブジェクトの生成 • 次の2つのオブジェクトを生成する Python プロ グラム a 1 2 "red" b 2 x 4 y "green" color • クラス Ball のオブジェクト生成を行うプログラム 8

9. クラス定義 クラス定義の中には,コンストラクタの定義,その 他メソッドの定義を含める. コンスト ラクタ その他 メソッド オブジェクトの生成を行うメソッドのことを コンストラクタという 9

10. 演習の指示 • 資料:11~16 • 次のことを理解しマスターする • クラス定義 • コンストラクタの定義 • オブジェクト生成 10

11. 演習 ① ウェブブラウザを起動する ② Python Tutor を使いたいので,次の URL を開く http://www.pythontutor.com/ 11

12. ③ 「Python Tutor」をクリック 12

13. 「Python 3.6」になっている エディタ 実行のためのボタン 13

14. Python Tutor でのプログラム実行手順 (1)「Visualize Execution」 をクリック. (3) 結果を確認する. (2)「Last」をクリック. (4)「Edit this code」 14 をクリックして戻る

15. ④ 次のプログラムを実行し,結果を確認しなさい クラス定義 結果は次ページに記載 コンストラクタによる オブジェクト生成 15

16. 2つのオブジェクト x, y が生成される 16

17. 使用上の注意点1 • 次のような表示が出ることがある → 無視してよい 過去の文法ミスに関する確認表示 邪魔なときは「Close」 17

18. 使用上の注意点2 「please wait ... executing」のとき、10秒ほど待つ. → 混雑しているときは、 「Server Busy・・・」 というメッセージが出ることがある. 混雑している.少し(数秒から数十秒)待つと自 動で表示が変わる(変わらない場合には,操作を もう一度行ってみる) 18

19. 6-2. メソッド 19

20. 問いかけ • 「メソッド」とは何でしょう か? 20

21. • プログラミングでのメソッドと は,オブジェクトに関する操作 や処理のこと メソッドと クラス • メソッドは,クラスに属する • メソッド内のプログラムは,そ のメソッドが所属するクラスの 属性やメソッドへのアクセス権 がある 21

22. メソッドの定義 クラス名 C 属性 qty, weight, name メソッド total コンストラクタの定義 メソッドの定義 クラス定義 22

23. 属性やメソッド のアクセス • 「オブジェクト名」+「.」で 属性やメソッドにアクセスす る 23

24. 属性アクセス qty weight name 「オブジェクト名」+「.」で属性やメソッドにアクセスする 24

25. メソッドアクセス 「オブジェクト名」+「.」で属性やメソッドにアクセスする 25

26. • 資料:27,28 演習の指示 • 次のことを理解しマスターする • メソッド定義 • 「オブジェクト名」+「.」で属 性やメソッドにアクセス 26

27. 次のようにプログラムを書き換えて,実行し,結果を確認 しなさい メソッド定義 「.」でメソッドにアクセス 結果は次ページに記載 27

28. 表示を確認 28

29. • 「メソッド」とは何でしょう か? 問いかけ プログラミングでのメソッドとは, オブジェクトに関する操作や処理 のこと • 「オブジェクト名」+「.」で属 性やメソッドにアクセスする 29

30. キーワード • class クラス定義 • return メソッドやメソッド の評価値を呼び出し側に返す 30

31. まとめ • Python のクラス定義では,クラス名の指定,コン ストラクタの定義,メソッドの定義を行う • 「オブジェクト名」+「.」で属性やメソッドにア クセスする 31

32. 6-3. メソッドに関する演習 32

33. Python のメソッド • 次のメソッドを考える. • Ball クラスに属するメソッド move • このメソッドは,オブジェクトの属性 x, y を増減させ るためのもの y 左 x が減る 上 y が増える 右 x が増える 下 y が減る x 33

34. 演習の指示 • 資料:35~38 • 次のことを理解しマスターする • メソッド定義 • メソッドへのアクセス 34

35. ① 次のプログラムを実行し,結果を確認しなさい 結果は次ページに記載 35

36. 36

37. ② 次のようにプログラムを書き換えて,実行し,結果を 確認しなさい メソッド定義 結果は次ページに記載 「.」でメソッドにアクセス 37

38. 38

39. 全体まとめ • プログラミングでのメソッドとは,オブジェクト に関する操作や処理のこと • メソッドは,クラスに属する • 「オブジェクト名」+「.」で属性やメソッドにア クセスする 39

40. 関連資料 • Python まとめページ https://www.kkaneko.jp/cc/python/googlecolab.html • Python の基本 Google Colaboratory,Paiza.IO を使用. https://www.kkaneko.jp/cc/colab/index.html • Python 入門(全6回) Google Colaboratoryを使用. https://www.kkaneko.jp/cc/pf/index.html • Python プログラミング演習(全9回) Python Tutor, VisuAlgo を使用 https://www.kkaneko.jp/cc/po/index.html • さまざまな Windows アプリケーションのインストールと設定 https://www.kkaneko.jp/cc/tools/index.html 40