[TIL_Python]55. Class
コメディアン
コメディアンの正体は李英子、宋英伊、楊世亨、劉炳宰だ.
これらのインスタンスをobject(オブジェクト)と呼びます.
クラスの定義
-classキーの使用
class ClassName:
..class 내용 코드
class名は各単語の大文字を使用します.1つ以上の単語であれば下線を引かずに単語をつなぎますが、各単語の前半は大文字で単語を区別します.
ex)ScotchWishkey
クラスが定義されると、クラスから実体化(インスタンス化)できます.
hyundai = Car()
bmw = Car()
現代とbmwが対象です.Carclassはまだ空き状態です.同類の共通点を探せ!自動車インスタントラーメンブランド、エンジン馬力、燃料など
クラスのプロパティ
classで定義される共通要素はclassのattribute(性質または属性)と呼ばれます.
classで属性を定義するには、
__init__
関数で定義できます.classで定義されている関数(function)はfunctionではなくmethodです
class Car:
def __init__(self,maker,model,horse_power):
self.maker =maker
self.model =model
self.horse_power = horse_power
Initメソッド
__init__
のように、前後2本の下線の方法を特殊な方法と呼ぶ.class実体化時に使用する関数.
hyundai = Car("현대","제네시스",500)
__init__
メソッドは呼び出されませんが、クラスが実体化されると__init__
メソッドが自動的に呼び出されます.上の
__init__
の因子は4つなのに、どうして3つしかあげなかったのですか?self因子を忘れました...これはとても難しいです.
selfとは、エンティティの単語を指します.したがって、クラスのエンティティとしてのオブジェクトを指します.
ここでは現代やbmwを指す.
その後、クラスが実体化されると、Pythonはそのオブジェクト(self)を
__init__
関数に渡す.Class Method
方法と属性の違いは名詞と動詞の違いです
プロパティは、オブジェクトの名前など、指定されたプロパティであり、move、eatなどのオブジェクトが実行できる任意のactionを使用します.
笛の鳴らし方を追加すると
class Car:
def __init__(self, maker, model, horse_power):
self.maker = maker
self.model = model
self.horse_power = horse_power
def honk(self):
return "빠라바라빠라밤"
各メソッドにはselfパラメータが最初のパラメータとして必要です. hyundai = Car("현대", "제네시스", 500)
hyundai.honk()
> "빠라바라빠라밤"
初めて書いた答えは...本当にできないですね^^class Database:
def __init__(self,name,size):
self.name = name
self.size = size
def insert(self,field,value):
self.field = field
self.value = value
if len(self.name) > size:
pass
def select(self,field):
if len(self.name) == 0:
return None
else:
return self.name
def update(self,field,value):
if len(field) == 0:
pass
def delete(self,field):
if len(field) == 0:
pass
2時間以内に解く正解:class Database:
def __init__(self,name,size):
self.name = name
self.size = size
self.data = {}
def insert(self,field,value):
if len(self.data) < self.size:
self.data[field] = value
def select(self,field):
if field in self.data:
return self.data[field]
else:
return None
def update(self,field,value):
if field in self.data:
self.data[field] = value
def delete(self,field):
if field in self.data:
del self.data[field]
Reference
この問題について([TIL_Python]55. Class), 我々は、より多くの情報をここで見つけました https://velog.io/@hyeyoonc/TILPython55.-Classテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol