Python プログラミングにおけるクラスの概念は、特定の種類のコレクションの記述にたとえることができます。たとえば、「人間」を 1 つのクラスと見なすことができ、その人間クラスを使用して特定の各個人を定義します。あなた、私、彼などを対象とします。クラスにも属性と機能があります。属性はクラス自体の特性です。たとえば、人間には名前、身長、体重などの属性があり、具体的な値は人によって異なります。機能は動作です。人間には食べる、歩く、寝るといった機能があるなど、クラスが達成できること。
#具体的な形式は次のとおりです。
# 例: クラスclass 人間の概念: ## #name = 'named'#member variable
def speak(content):#member function
メンバー変数by A が語る
>>> みなさんこんにちは! #Output
サンプル プログラム 1 (クラス定義):
>>> class pp: ... pass ... >>> p = pp() >>> print p <__main__.pp instance at 0x00CA77B0> >>>
関連する推奨事項: 「Python ビデオ チュートリアル 」
サンプル プログラム 2 (__init__ の使用法):説明: __init_ _ メソッドは、クラスのオブジェクトが作成されるとすぐに実行されます。このメソッドはオブジェクトを初期化するために使用されます。
>>> class Person: ... def __init__(self, name): ... self.name = name ... def sayHi(self): ... print 'Hello, my name is', self.name ... >>> p = Person('Swaroop') >>> p.sayHi() Hello, my name is Swaroop >>>
サンプル プログラム 3 (__del__ メソッド):
説明: __del__ メソッドは、プログラムの終了時に呼び出されます。>>> class Person: ... population = 0 ... def __init__(self, name): ... self.name = name ... print '(Initializing %s)' % self.name ... def __del__(self): ... print '%s says bye.' % self.name ... Person.population -= 1 ... ... def howMany(self): ... if Person.population == 1: ... print 'I am the only person here.' ... else: ... print 'We have %d persons here.' % Person.population ... >>> A = Person('aa') (Initializing aa) >>> A.howMany() We have 0 persons here. >>> B = Person('bb') (Initializing bb) >>> B.howMany() We have 0 persons here. >>> ^Z aa says bye. bb says bye.
Python でクラスを定義して使用する形式は次のとおりです: class クラス名 [(親クラス名)]:[メンバー関数とメンバー変数]、クラス名はこのクラスの名前です。名前はオプションですが、親クラス名を定義すると、サブクラスは親クラスの対応する属性とメソッドを持つようになります。クラスをオブジェクトとして定義すると、最初に __init__ コンストラクターが呼び出され、オブジェクトの属性が初期化されます。クラスの各属性 (メンバー変数) はコンストラクター内で定義できます。定義時にオブジェクト ポインターを追加するだけです。オブジェクトが破棄されると、__del__ デストラクターが呼び出されます。クラスのメンバー関数を定義するときは、クラス自体によって定義されたオブジェクトを表す変数 (C の this ポインターと同様) をデフォルトにする必要があります。この名前変数は自分で定義できます。次の例では、self 変数を使用してクラス オブジェクト変数を表します。
# 例: クラスの定義と使用法
class CAnimal: name = 'unname' # 成员变量 def __init__(self,voice='hello'): # 重载构造函数 self.voice = voice # 创建成员变量并赋初始值 def __del__(self): # 重载析构函数 pass # 空操作 def Say(self): print self.voice t = CAnimal() # 定义动物对象t t.Say() # t说话 >> hello # 输出 dog = CAnimal('wow') # 定义动物对象dog dog.Say() # dog说话 >> wow # 输出
# 例: クラス継承
class CAnimal: def __init__(self,voice='hello'): # voice初始化默认为hello self.voice = voice def Say(self): print self.voice def Run(self): pass # 空操作语句(不做任何操作) class CDog(CAnimal): # 继承类CAnimal def SetVoice(self,voice): # 子类增加函数 SetVoice self.voice = voice def Run(self,voice): # 子类重载函数Run
以上がPythonでクラスを使う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。