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
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.