ホームページ > バックエンド開発 > Python チュートリアル > Pythonプログラミング入門 (5) クラスの使い方入門

Pythonプログラミング入門 (5) クラスの使い方入門

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-16 08:43:41
オリジナル
1278 人が閲覧しました

1. クラスの定義と使用

Python でクラスを定義するための基本的な構文は次のとおりです:

コードをコピー コードは次のとおりです:
class classname([基本クラス 1, 基本クラス 2...]):

[def __init__(self, [agv1,agv2...]):] # コンストラクターを定義

def method1(self, [agv1,agv2...]): # メンバー関数




使用:

オブジェクトインスタンス名 = クラス名(パラメータリスト)

オブジェクトインスタンス名.メンバ関数名(パラメータリスト)

と他の言語 の違いは次のとおりです:

(1) Python には新しいキーワードがありません
(2) メンバー関数には self パラメーターが必要です (従来の言語ではこれに相当します)
(3) メンバー変数は明示的に指定する必要はありません定義されていますが、便宜上、混乱を避けるためにほとんどの人は依然としてコンストラクター内で定義します。
例:

コードをコピー コードは次のとおりです:
# -*-coding: gb18030 -*-
クラス mycls:

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 はメンバー関数を変数 として直接使用できます。上記のクラスに関する限り、次のようになります。

コードをコピー コードは次のとおりです。x = mycls(3, 15)
myx = x.show_me()
print 'I am a copy!n'
myx
2. 継承と多重継承

他のクラスから継承するには、

class クラス名([基本クラス 1, 基本クラス 2...]):
を定義するときに、継承する基本クラスを指定するだけです。

3. プライベートメンバー

Python には実際にはプライベート メンバーの概念がありませんが、変数名を ___var (アンダースコア 3 つ) として定義すると、システムは名前を自動的に _classname___var に変更します。

この値は self.___var を使用して読み取ることができます (一緒に置き換えられるため) が、obj.___var を使用して外部から読み取ることはできません。

例:


コードをコピー コードは次のとおりです:class test_cls:
def __init__(self):

self.___aaa = '私は Python です!'

def test_func(self):
print self.___aaa

#Thisこのメソッドは正しい結果を出力できます
x = test_cls()
x.test_func()

#次のメソッドはエラーを報告します!

x = test_cls()
print x.___aaa

3. イテレータとジェネレータ

Python では、for を使用して多くのことを実行できます。実際、これはイテレーターまたはジェネレーターを通じて実装されます。

1、

反復子

コードをコピーします コードは次のとおりです:class Reverse:
def __init__(self, data):
self .data = data
self.index = len(data)

def __iter__(self):
return self

def next(self):
if self。 Index == 0: 開始速度を上げる
Self.index = Self.index - 1
Self.data [Self.index] を返す

#Applicationfor cin Reverse('spam'):

print c

ここでの重要なポイントは、__iter__ と next の 2 つの関数です。next を使用する場合は、raise StopIteration を使用してトラバーサルの終了を指定します。

2.

ジェネレーター


ジェネレーターは実際に 1 つの関数を使用して、走査されたソースを実装します。

ジェネレーター関数では、走査されるたびに yield varname を使用します。要素は
にすることができます: 例:

コードをコピーします コードは次のとおりです: def reverse(data) : 範囲 (len(data)-1, -1, -1) のインデックス:
yield data[index]

for c in reverse('golf'):
print c

ここまででPythonの基本的な文法はほぼ説明できましたが、その他の隠された部分については実際に操作しながら見つけていく必要があります。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート