ばーろぐわにる

SIerからWEB系?インフラエンジニアにジョブチェンジした見習いの備忘録

【PART4】Python勉強メモ

オブジェクト指向プログラミング

  • クラス
    • 複数の要素を持ったオブジェクトを表現する定義するしくみ。
      • たとえば、"タイトル", "作者", "ジャンル"という要素を持ったbookというクラスを定義できる。
  • インスタンス
  • インスタンス変数
    • インスタンス自身が持つ変数。クラス定義の中でクラスが持つ変数を定義する。
    • インスタンス変数は__init__関数で定義するのが一般的?
  • メソッド
    • クラスで定義された関数。そのクラスのオブジェクトを通してのみ呼び出し可能
    • __init__はインスタンスが作成されたときに必ず実行されるメソッド

チャレンジ(PART2 12章)

1

>>> class Apple:
... def __init__(self, color, weight, price, made_in_japan):
... self.color = color
... self.weight = weight
... self.price = price
... self.is_made_in_japan = made_in_japan
...
>>> apple01 = Apple('red',5,100,True)
>>> print(apple01)
<__main__.Apple object at 0x7f8273123c18>

2

>>> class Circle:
... def __init__(self,h):
... self.hankei = h
... def area(self):
... return self.hankei * self.hankei * math.pi
...
>>> import math
>>> en = Circle(3)
>>> print(en.area())
28.274333882308138

インポート忘れて後からやっちゃった

3

>>> class Triangle:
... def __init__(self,teihen,takasa):
... self.teihen = teihen
... self.takasa = takasa
... def area(self):
... return self.teihen * self.takasa / 2
...
>>> sankaku = Triangle(5,6)
>>> print(sankaku.area)
<bound method Triangle.area of <__main__.Triangle object at 0x7f6a5121cc88>>
>>> print(sankaku.area())
15.0

よくメソッド使うとき()を忘れる

4

2, 3とおなじようなので省略