#メソッド | 説明 |
##__init__ コンストラクター、オブジェクト生成時に | |
__del__ を呼び出します。 デストラクター、オブジェクトを解放するときに | | # を使用します。 ##__repr__
印刷、変換 | | __setitem__
インデックスに従って値を割り當(dāng)てる | | __getitem__
インデックスに従って値を取得します | | __len__
長さを取得します | | __cmp__
比較操作 | #__call__ |
関數(shù)呼び出し | ##__add__ | 加算操作
#__sub__ | 減算演算 |
__mul__ | 乗算演算 |
##__div__ | 除算演算 |
__mod__ | 剰余演算 |
__pow__ | Power |
# もちろん、クラスに関する関連情報を取得する必要がある場合もあります。次のメソッドを使用できます:
type(obj): オブジェクトの対応する型を取得します;
isinstance(obj, type ): オブジェクトが指定された型のインスタンスであるかどうかを判斷します;
hasattr(obj, attr): オブジェクトが指定された屬性/メソッドを持つかどうかを判斷します;
getattr (obj, attr[,default] ) 屬性/メソッドの値を取得します。対応する屬性がない場合は、デフォルト値が返されます (デフォルトが設(shè)定されている場合)。それ以外の場合は、AttributeError 例外がスローされます。
setattr(obj, attr, value): obj.attr=value と同様に屬性/メソッドの値を設(shè)定します;
dir(obj): すべての屬性とメソッドのリストを取得できます対応するオブジェクトの名前:
2. メソッドのアクセス制御
実際、メソッドをクラスの屬性とみなすこともできます。屬性と同じであり、実際のプライベート メソッドはありません。すべては、プログラマーが意識的に Python プログラミング標(biāo)準(zhǔn)に従うかどうかにかかっています。
例は次のとおりです。特定のルールは屬性と同じです、
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
class User(object):
def upgrade(self):
pass
def _buy_equipment(self):
pass
def __pk(self):
pass
3。メソッド デコレータ
@classmethod はクラスを使用します。オブジェクトではなく、Name クラス呼び出しを直接呼び出す場合
@property プロパティにアクセスするのと同じようにメソッドを呼び出すことができます
具體的な使用方法については例を參照してください:
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
class UserInfo(object):
lv = 5
def __init__(self, name, age, account):
self.name = name
self._age = age
self.__account = account
def get_account(self):
return self.__account
@classmethod
def get_name(cls):
return cls.lv
@property
def get_age(self):
return self._age
if __name__ == '__main__':
userInfo = UserInfo('兩點水', 23, 347073565);
# 打印所有屬性
print(dir(userInfo))
# 打印構(gòu)造函數(shù)中的屬性
print(userInfo.__dict__)
# 直接使用類名類調(diào)用,而不是某個對象
print(UserInfo.lv)
# 像訪問屬性一樣調(diào)用方法(注意看get_age是沒有括號的)
print(userInfo.get_age)
結(jié)果ランニング:## ##########
現(xiàn)時點ではコースウェアはダウンロードできません。現(xiàn)在スタッフが整理中です。今後もこのコースにもっと注目してください?
このコースを視聴した生徒はこちらも學(xué)んでいます