Python のクラスをざっくり解説:インスタンス変数とインスタンスメソッド
2023.02.18
Python のクラスは class
で定義し、関数と同じように :
を終わりにつけます。
class User:
def __init__(self):
self.name = ''
a = User()
print(a) # <__main__.User object at 0x1011f7e90>
print(a.name) #
a.name = 'Apple'
print(a.name) # Apple
クラス User
は抽象的な型です。
整数型や文字列型 : Python が最初から用意している型
User
: あなたが新しくつくった型
3
は整数型のインスタンス、California
は文字列型のインスタンスです(正確でない)。上の a
は User
という型のインスタンス。
インスタンス変数
name
は User
のインスタンス変数です。インスタンス変数はインスタンスがもつ変数。
class User:
def __init__(self):
self.name = ''
a = User()
b = User()
a.name = 'cat'
b.name = 'dog'
print(a.name) # cat
print(b.name) # dog
インスタンスメソッド
class User:
def __init__(self):
self.name = ''
def hello(self):
print('my name is ' + self.name)
a = User()
b = User()
a.name = 'cat'
b.name = 'dog'
a.hello() # my name is cat
b.hello() # my name is dog
hello
をインスタンスメソッドといいます。インスタンスの a
が hello
を呼んでいるため
my name is cat
と出力されています。