pf-10. クラス定義,オブジェ
クト生成,メソッド,属性
Python 入門)
URL: https://www.kkaneko.jp/pro/pf/index.html
1
金子邦彦
資料中の図などは Google Nano Banana 2 を用いて作成
2
本授業の図は生成AIである Google Nano Banana 2 を用いて作成
オブジェクト・メソッド・引数
3
変数
4
変数と代入
5
前回資料
クラスとオブジェクト
6
クラス
オブジェ
クト
1つの型(クラス)から、同じ形のクッキー
(オブジェクト)を何枚も作ることができる。
クラスとオブジェクト
クラス:同じ種類のオブジェクトに共通する型を定める
7
オブジェクト生成と代入
8
前回資料
クラスとオブジェクト
9
クラスを使う利点
10
同じクラスの2つのオブジェクト
11
半径 3場所(2, 4
green
半径 1,場所(8, 10
blue
オブジェクト
オブジェクト
オブジェクト
半径,場所,色などの属性
を持つことができる
クラス Ball
クラス定義の例
12
クラス名: Ball
属性: x, y, r, color
メソッド: __init__, printout
オブジェクト生成の際に,メソッド __init__ が自動で実行
される
クラス定義の例
13
クラス名: Ball
属性: x, y, r, color
メソッド: __init__, printout
__init__ は,オブジェクトが生成される際に自動的に
呼び出されるメソッド
クラス名: Ball
メソッド: __init__
メソッド: printout
クラスの利用
オブジェクト生成
Ball クラスのオブジェクト生成
属性アクセス
属性 x, y, r, color の値の取得や変更
メソッド呼び出し
メソッド printout の呼び出し
14
Ball クラスのオブジェクト生成
Python では,「クラス名()」の形式でオブジェクト生成
行う
オブジェクト生成の際に,メソッド __init__ が自動で実行
される
15
Ball クラスの属性アクセス
Python では,「オブジェクト . 属性名」の形式で属性にア
クセスする
属性値の変更は「オブジェクト . 属性名 = 値や式」の形式
で行う
16
Ball クラスのメソッド呼び出し
Python では,「オブジェクト . メソッド名 ()」の形式で
ソッドを呼び出す
17
メソッド定義内での属性アクセス,メソッ
ド呼び出し
メソッド定義内の属性アクセスは,「self . 属性名」の形
メソッド定義内のメソッド呼び出しは,「self . メソッド
() 」の形式
18
演習
19
Trinket の概要
20
Trinket 操作手順
21
trinket の次のページを開く
https://trinket.io/python/6fdf17af8f
実行結果が,次のように表示されることを確認
このプログラムは,オブジェクト a, b を生する.そして,
メソッド printout を呼び出して,属性値を表示させる
22
trinket の次のページを開く
https://trinket.io/python/2fd4a420de
実行結果が,次のように表示されることを確認
このプログラムは,オブジェクト a を生成する.そして,
属性 x, y にアクセスする
23
全体まとめ
クラス同じ種類のオブジェクトの集まり
属性オブジェクトの状態を表す
メソッドオブジェクトに属する機能や操作
次のクラス定義により、「Ball」クラスのオブジェクトの
生成、「color」や「x」などの属性アクセス、情報を表示
する「printoutメソッドへのアクセスができるようになる
class Ball:
def __init__(self, x, y, r, color):
self.x = x
self.y = y
self.r = r
self.color = color
def printout(self):
print(self.x, self.y, self.r, self.color)
次のプログラムにより x = 8, y = 10, r = 1, color = "blue"
のボールが生成され,表示が行われる
a = Ball(8, 10, 1, "blue")
a.printout()
24