【疑問?】Pythonのインスタンス化で半径を求める
Pythonのクラスを勉強したけどインスタンスがいまいちよく分からないよ。
【結論】
インスタンスとは、クラスを実体化したものです。ひとつのクラスに対してインスタンスは複数生成することが出来てそれぞれが別のデータを持ちます。
【理由】
・class クラス名:
クラス変数1
クラス変数2
クラス変数はクラス外部で使用する変数でclass文直下定義することができます。
これでクラス内の情報を取り出せます。
・クラス名.クラス変数名
またクラス名にクラス変数名を書けばそれにアクセスができます。
インスタンス変数はクラス内で使う変数の事です。
・self.インスタンス変数名
クラス内にある変数の事でself.を付けて呼び出すのが一般的です。
そして、それらを使うとインスタンス化で
データを実体化して出力できます。
【具体例】
class Circle:
def __init__(self, radius):
# インスタンス変数に値を代入
self.radius = radius
# 関数を定義
def area(self):
return radius * radius * 3.14
radius = 10
# インスタンスの生成
circle = Circle(radius)
print("円の半径:", radius)
print("円の面積:", circle.area())
実行結果は以下のようになります。
>円の半径: 10
>円の面積: 314.0
class Circle:でクラス内にアクセスをして
def __init__(self, radius):でradius引数を代入するために初期化します。この初期化をイニシャライザと言います。
こうする事で同じ属性となり第一引数にインスタンス自身が渡る。第二引数の値も利用できるて結果が出力されます。
【結論】
クラスはやや難しいかもしれませんが
使いこなせば複数のデータをまとめて一つにできます。
取材やお仕事紹介などはこちらからお気軽にご連絡下さい。
ysa7825@gmail.com