Python-魔法機能(研究ノート2)

アウトライン

この記事では、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)

魔法の機能一覧

__str__と__repr__
マジック機能

魔法の機能の重要性(LEN関数)

LEN特殊関数
使用python的内置函数 性能高
lenのオブジェクト()メソッドは、内蔵型のPython呼び出された場合为了提高效率而走捷径など、リスト、セット、辞書(CPythonの)としては、直接横断することなく、(データ表現の長さ)が得られます。

公開された29元の記事 ウォン称賛19 ビュー1325

おすすめ

転載: blog.csdn.net/s1156605343/article/details/104284090