今日からClassの勉強を始めたんですが意味不明です
lang
1# -*- coding: utf-8 -*- 2 3class Prism: 4 def __init__(self, width, height, depth): 5 self.w = width 6 self.h = height 7 self.d = depth 8 9 def volume(self): 10 return self.w * self.h * self.d 11 12 13a_1 = Prism(2, 3, 4) 14a_1.volume() 15 16# ----- クラスのメリットだと思う点 ----- 17# a_1.width = 5 とか初期化メソッドの引数を変えられる? 18# classだと、初期化メソッドを定義しておけば、後々使う関数をつくるときに便利 19 20 21def prism(width, height, depth): 22 return width * height * depth 23 24 25b = prism(2, 3, 4) 26print(b) 27 28b_2 =prism(1, 2, 3) 29print(b_2) 30 31# Classを使わなくても同じようなことができるような気がする
-------- 別の質問 --------
class Sample():
pass
i = Sample() ← これはSample()というインスタンスをiに代入しているということですよね?
それでi.value = 5 ← これはSample()というインスタンスを代入した変数iのアトリビュートvalueに5を代入しているということですよね?
lang
1class Prism: 2 def __init__(self, width, height, depth): 3 self.w = width 4 self.h = height 5 self.d = depth 6 7 def volume(self): 8 return self.w * self.h * self.d 9 10 11a_1 = Prism(2, 3, 4) 12a_1.volume() 13
だとしたらこのa_1.volume()は何なんでしょうか?
Class定義の外だから、volume()というアトリビュートではなく別の何かなんでしょうか?
またdef volume():の引数にselfがいるのはなぜですか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2015/05/05 13:10