この記事では主に python クラスの詳細とサンプルに関する関連情報を紹介します。必要な方は
class
1 を参照してください。例を作成します。 (通常、クラスはデータとそのデータで使用できるメソッドをカプセル化します)
2. Python クラスは呼び出し可能なオブジェクト
、つまりクラス オブジェクト3. クラスは通常、モジュールの最上位で定義されます。そのため、クラスが定義されているソース コード ファイル内のどこにでもクラス インスタンスを作成できます。
4. インスタンスの初期化 instance =class ClassName(base): 'class documentation string' #类文档字符串 class suite #类体
class FirstClass(): spam = 30 #类数据属性 def display(self): #类方法 print self.spam x = FirstClass() #创建类实例 x.display() #方法调用 >>> 30 dir(FirstClass) >>> ['doc', 'module', 'display', 'spam']
インスタンス (オブジェクト) に含まれる属性
呼び出し可能なプロパティ: メソッド
データプロパティ
OOP では、インスタンスは「データ」を持つレコードのようなもので、クラスはこれらのレコードを処理する「プログラム」です。
インスタンス経由 メソッドの呼び出しは、現在のインスタンスを処理するクラスのメソッドの呼び出しと同じです。 たとえば、前のコード例では、x.display() は FirstClass.display(x) に自動的に変換されます。つまり、インスタンス x
を処理するためにクラスのメソッドが呼び出されます。クラスには self パラメータが必要です。これには現在のインスタンスの意味が暗黙的に含まれます
メソッド内で self 属性を割り当てると、各インスタンスに独自の属性が生成されます
Python では、インスタンスがない場合、メソッドは次のように規定されていますこれは「バインディング」です) の概念です
class ステートメント内の代入ステートメントは、前の例のスパムなどのクラス属性を作成します
メソッドに渡される特別なパラメーター self を割り当てます。クラスメソッド内でインスタンス属性が作成されます
インスタンスを作成するとき、Python はクラス内の init メソッドを自動的に呼び出して、インスタンスに目に見えない属性を提供します
init メソッドは と呼ばれますconstructor
クラスにinitメソッドが定義されていない場合、インスタンスは最初は単純な名前空間として作成されます。
init の最初のパラメータは self である必要があります。self
変数を作成することを検討してください。結局のところ、メソッド コードはインスタンスを使用しておらず、クラスに関連付けられた機能もないため、通常の関数のように見えます。他のオブジェクト指向言語では、self はこれと呼ばれる場合があります。
class MyClass(): def init(self, name): self.name = name print 'My name is ' + self.name def del(self): print self.name + ' is dead.' i1 = MyClass('Shaw') >>> My name is Shaw del i1 >>> Shaw id dead.
类的特殊属性
使用dir()或dict,查看类或实例的属性
doc:获取文档字符串
base:获取所有父类
module:类所在的模块
name:实例所属类的名字
Python类方法中可用的变量
继承
继承描述了基类的属性如何‘遗传'给派生类
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
以上がPythonのクラスインスタンス解析の詳しい解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。