função mágica Python- (notas de estudo 2)

esboço

Este artigo consiste em quatro partes:

Qual é a função mágica

Python impacto do modelo de dados eo modelo de dados de python

Lista de funções mágicas

A importância da função de magia (função LEN)

Qual é a função mágica

Python embutido 以双下划线开头 并以双下划线结尾的函数(não a sua própria definição, não uso), __ como __init (), str (), __ getItem () __ e muitos utilizados para implementar e personalizar muitos recursos, muito flexível, e é chamado implicitamente.

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)

Dois exemplos de saída são:

tom
bob
jane

NOTA: getItem () pode tornar-se uma classe alvo de uma iteração (uma e outra vez buscar até Lança)

Python impacto do modelo de dados eo modelo de dados de python

função mágica afetará o Python sintaxe própria, como faz a classe pode se tornar um alvo de iterações, algumas chamadas também afetará o Python funções internas, como a realização __len __ () método pode chamar len () sobre o objeto.

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

Como comentadas nos exemplos que se seguem são dadas __len__ função,

 def __len__(self):
        return len(self.employee)

Lista de funções mágicas

__str__ e __repr__
função mágica

A importância da função de magia (função LEN)

função particularidade len
使用python的内置函数 性能高
se o método objecto len () é chamado tipo interno Python, 为了提高效率而走捷径lista, conjunto, Dict (CPython), etc., como, vai ser obtido directamente (o comprimento de uma representação de dados), sem ter de percorrer.

Publicado 29 artigos originais · ganhou elogios 19 · vista 1325

Acho que você gosta

Origin blog.csdn.net/s1156605343/article/details/104284090
Recomendado
Clasificación