ホームページ >バックエンド開発 >Python チュートリアル >Pythonプログラミング入門 (5) クラスの使い方入門
1. クラスの定義と使用
Python でクラスを定義するための基本的な構文は次のとおりです:
[def __init__(self, [agv1,agv2...]):] # コンストラクターを定義
def method1(self, [agv1,agv2...]): # メンバー関数
オブジェクトインスタンス名 = クラス名(パラメータリスト)
オブジェクトインスタンス名.メンバ関数名(パラメータリスト)
と他の言語 の違いは次のとおりです:
(1) Python には新しいキーワードがありません
(2) メンバー関数には self パラメーターが必要です (従来の言語ではこれに相当します)
(3) メンバー変数は明示的に指定する必要はありません定義されていますが、便宜上、混乱を避けるためにほとんどの人は依然としてコンストラクター内で定義します。
例:
def __init__(self, vl, vr):
self.l = vl
self.r = vr
def show_me(self):
print x.l, x.r
x = mycls(3, 15)
x.show_me()
2. 高度なアプリケーション
1. メンバ関数型変数
Python はメンバー関数を変数 として直接使用できます。上記のクラスに関する限り、次のようになります。
他のクラスから継承するには、
class クラス名([基本クラス 1, 基本クラス 2...]):
を定義するときに、継承する基本クラスを指定するだけです。
Python には実際にはプライベート メンバーの概念がありませんが、変数名を ___var (アンダースコア 3 つ) として定義すると、システムは名前を自動的に _classname___var に変更します。
この値は self.___var を使用して読み取ることができます (一緒に置き換えられるため) が、obj.___var を使用して外部から読み取ることはできません。
例:
self.___aaa = '私は Python です!'
def test_func(self):
print self.___aaa
#Thisこのメソッドは正しい結果を出力できます
x = test_cls()
x.test_func()
x = test_cls()
print x.___aaa
Python では、for を使用して多くのことを実行できます。実際、これはイテレーターまたはジェネレーターを通じて実装されます。
1、
反復子
print c
2.
ジェネレーター
ジェネレーターは実際に 1 つの関数を使用して、走査されたソースを実装します。
ジェネレーター関数では、走査されるたびに yield varname を使用します。要素は
にすることができます: 例: