アウトライン
この記事では、4つの部分から構成されています。
魔法の機能とは何ですか
データモデルのPythonの影響とPythonのデータ・モデル
魔法の機能一覧
魔法の機能の重要性(LEN関数)
魔法の機能とは何ですか
Pythonは組み込みの以双下划线开头 并以双下划线结尾的函数
(ではない、独自の定義、使用しなかった)、__init __()として、STR()、__のgetItem()__と非常に柔軟な、多くの機能を実装し、カスタマイズすることが多く使用され、暗黙的に呼び出されます。
class Company(object):
def __init__(self, employee_list):
self.employee = employee_list
company = Company(['tom', 'bob', 'jane'])
emploee = company.employee
for em in emploee:
print(em)
class Company(object):
def __init__(self, employee_list):
self.employee = employee_list
def __getitem__(self, item):
return self.employee[item]
company = Company(['tom', 'bob', 'jane'])
for em in company:
print(em)
二つの出力例を示します。
tom
bob
jane
注:のgetItem(スローするまでの時間と、再びフェッチ)()は、一回の反復のターゲットクラスになることができます
データモデルのPythonの影響とPythonのデータ・モデル
マジック関数は、lenのオブジェクト上の()メソッドを呼び出すことができます)Pythonはそれはクラスが反復の対象になることができますように、いくつかの呼び出しはまた、Pythonが内蔵され、このような実現として機能し、(__ __len影響する、自分自身を構文に影響します。
class Company(object):
def __init__(self, employee_list):
self.employee = employee_list
def __len__(self):
return len(self.employee)
company = Company(['tom', 'bob', 'jane'])
print(len(company)) #输出结果为:3
以下の実施例で上にコメントとして__len__機能が与えられ、
def __len__(self):
return len(self.employee)
魔法の機能一覧
魔法の機能の重要性(LEN関数)
LEN特殊関数
使用python的内置函数 性能高
lenのオブジェクト()メソッドは、内蔵型のPython呼び出された場合为了提高效率而走捷径
など、リスト、セット、辞書(CPythonの)としては、直接横断することなく、(データ表現の長さ)が得られます。