Python Class


Python Class


Python Classについて知っています.
classの辞書の意味はたくさんあります
ここで,符号化に用いられるclassの意味は「クラス」に近い.
クラスの意味は「一定の基準に基づいて同一の範疇に属する対象を区分する」ということです.
つまり、共通点の多いものを「同類」と呼ぶ.
例えば、劉在石(ユ・ジェソク)、梁世亨(ヤン・セヒョン)、劉炳済(ユ・ビョンジェ)、池石鎮(チ・ソクチン)の共通点は、4人とも「コメディアン」の職業を持っていることだ.
この時「コメディアン」はクラスになった.
しかし、「コメディアン」は単なる概念だ.
コメディアンの実体は池石鎮、劉在石、梁世亨、劉炳宰だ.
これらのエンティティ(インスタンス)はobject(オブジェクト)と呼ばれます.

クラスの定義


では、前に見たCarクラスとobjctをPythonコードで実現しましょう.

class ClassName:
    ...class 내용 코드들
class名は各単語の大文字を使用することに注意してください.
例えば、Car、Comedin.1つの単語を超えると、すべての単語に下線が付いていませんが、各単語の前のアルファベットは大文字で単語を区別します.
  • ScotchWishkey
  • SomeReallyLongClassName
  • classを定義すると、classから実体化(インスタンス化)できます.
    
    hyundai = Car()
    bmw = Car()
    
    Carclassを実体化したのは,現代とbmwというオブジェクト(object)である.
    前にも言ったように、「類」とは、ある共通点を持つもの/人のこと.
    つまり共通点が重要で、自動車ならブランド、エンジンの馬力、ガソリンなどが共通要素になります.
    これらの共通点は授業で定義しなければならない.
    では、共通の要素を1つずつ定義してみましょう.

    クラスのプロパティ


    classで定義される共通要素はclassのattribute(性質または属性)と呼ばれます.
    すべての車には以下の共通要素があります.
  • Maker(現代、BMWなど)
  • 型番(BMW 305、ジェネスなど)
  • 馬力(馬パワー)
  • classで上記の3つのプロパティを定義するには、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本あります.
    このような前後の2本の下線の方法を特殊な方法と呼ぶ.彼らは特別扱いを受けた.
    ここでinitメソッドはclass実体化時に使用される関数です.
    
    hyundai = Car("현대", "제네시스", 500)
    
    ここではinitメソッドが呼び出されています.メソッド名はinitと明示的に指定されていませんが、クラスが実体化されるとinitメソッドが自動的に呼び出されます.
    でもここには変な部分があります
    Initメソッドのパラメータは4つあるが,前のクラス実体化では3つしか渡されなかった.
    selfパラメータはいったい何ですか?
    selfとは、任意のエンティティの単語を指します.
    では、classではselfはもちろんclassのエンティティ(instance)を指す.
    selfとは、クラスのエンティティ(インスタンス)であるオブジェクト(オブジェクト)を指す.
    したがって、Car classでは、「self」はCar classの対象現代またはbmwを指す.
    その後、クラスが実体化されると、Pythonは自動的にそのオブジェクト(self)をinit関数に渡します.
    次にinitメソッドでコードを表示します.
    class Car:
        def __init__(self, maker, model, horse_power):
            self.maker       = maker
            self.model       = model
            self.horse_power = horse_power
    
    パラメータに渡されるmaker、model、mare powerの値がselfに同じ名前で保存されていることがわかります.
    保存の理由は後で使うためです.

    Class Method


    Initに加えて、必要に応じて他の方法を追加することもできます.
    方法と属性の違いは名詞と動詞の違いと考えられる.
    プロパティは、そのオブジェクトの名前などによって決定される性質であり、メソッドは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 "빠라바라빠라밤"
    Honkメソッドにも自分がいる
    各メソッドにはselfパラメータが最初のパラメータとして必要です.
    honk関数は次のように使用できます.
    hyundai = Car("현대", "제네시스", 500)
    hyundai.honk()
    > "빠라바라빠라밤"
    はい、オブジェクトで方法を使用する場合dot(.)呼び出しオブジェクトを使用します.
    これを点記号と呼びます.