ホームページ >バックエンド開発 >Python チュートリアル >Pythonのオブジェクト
オブジェクト: プログラムで使用されるすべての値はオブジェクトです。オブジェクトは内部プロパティとメソッドで構成されます。これらのメソッドは、以前にリスト型データを操作するときにすでに使用しました。出力結果:
37,25,34,23
dir() 関数は、オブジェクトで利用可能なメソッドをリストすることができ、インタラクティブな体験のためのツールです
data = [37,34]; data.insert(1,25); data.append(23) print(data);
dir() 関数を使用してオブジェクトのメソッドを表示すると、アンダースコアで始まりアンダースコアで終わる多くの特別なメソッドがあることがわかります。これらのメソッドは、さまざまな操作を実装するために使用されます。
例:
dir(data)
data = data +[3,4,50]; print(data);
注: 2 つのオブジェクトを追加できるかどうかは、まず対応するオブジェクトに __add__() メソッドがあるかどうかを確認する必要があります。そうであれば、オブジェクトが __add__() メソッドを持っている場合でも加算を使用できます。 Python の __add__ のようなマジック メソッドは、通常、 __add__ に対応する動作を定義します。 オブジェクト指向プログラミングでは、クラス objName が定義されます。 class: オブジェクトを定義するクラス objName: クラス名
data.__add__([3,4,5])
Stack クラスを定義するとき、構文 class Stack(object) は Stack をオブジェクトとして宣言します。そのため、Stack クラスはオブジェクトから継承します。 object これは、すべての Python 型の中でのルート型です。
メソッドは、クラス内の def 構文を使用して定義されます。
Self 変数: オブジェクトに関係するすべての操作は、self 変数を参照する必要があります。
class Stack(object): def __init__(self): #__init__ 构造器,当一个实例被创建的时候 调用的初始化方法 self.stack = []; def push(self,object): self.stack.append(object); def pop(self): return self.stack.pop(); def length(self): return len(self.stack);
s = Stack(); s.push("Dave"); s.push([3,4,5,6]); s.push(32); x = s.pop();出力結果:
[3, 4, 5, 6]
append() メソッド: このメソッドは Python のリストの章で紹介され、リストの最後に使用されます。 element
len() 関数: リスト内の要素の数を返します
Stack クラスは、実際にはスタックを実装するための新しいオブジェクトを作成しますただし、スタックは組み込みのリストオブジェクトとほぼ同じであるため、リストを直接継承してメソッドを追加できます
y = s.pop();
class Stack(list): def push(self,object): self.append(object);出力結果:
[66, 65, 64, 63]
s = Stack(); s.push(66); s.push(65); s.push(64); s.push(63);出力結果:
[63, 64, 65, 66]
クラス内に静的メソッドを作成するには?
s.reverse();#此方法 用于反转列表中元素的顺序
1. dir() メソッド: のすべてのメソッド。オブジェクトを表示できます
2. マジック メソッド: 二重アンダースコアで開始および終了するメソッド。このクラス メソッドは、次のようなさまざまな動作を定義します。 __add__() メソッドは + 操作を定義します
3、Python でクラスを定義する方法とオブジェクトの継承方法。 、例: class MyObject(object)
4, @ staticmethod: デコレーターの使用: メソッドを静的メソッドとして定義します
上記は Python のオブジェクトの内容です。さらに関連する内容については、PHP に注目してください。中国語のウェブサイト (www.php.cn)!