Aplicação de função parcial do Python

Para ser sincero, já ouvi esse conceito antes, mas não o estudei profundamente, e não o usei ... Mas quando alguém perguntar, é só verificar e registrar.

Verificando as informações, descobri que isso é simples: uma função com valores padrão para alguns parâmetros, Orz. Olhando para trás, para seu nome em inglês, aplicativo de função parcial, emm, é compreensível. Quanto à origem do chinês, não sei.

Veja a definição oficial:

  • A função é fixar os parâmetros com antecedência antes que a função seja chamada.

Por que inventou essa coisa?

  • Menos parâmetros
  • Mais curta
  • Mais conciso

Para ser franco, é tudo uma coisa ...

Então, vamos dar uma olhada primeiro, se quisermos implementar essa função nós mesmos, o que faremos?

Veja o seguinte exemplo

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
In [105]: def test(x, y):
     ...:     return x*y
     ...:
     ...:

In [106]: test(2, 3)
Out[106]: 6

In [107]: def test(x, y=2):
     ...:     return x*y
     ...:

In [108]: test(2)
Out[108]: 4

Simples, certo?

Existe uma solução pronta? Claro que existe, essa é a biblioteca de funções

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
In [109]: from functools import partial

In [110]: def test(x, y):
     ...:     return x*y
     ...:

In [111]: new_test = partial(test, y=3)

In [112]: new_test(3)
Out[112]: 9

Só uma coisinha ...

Ele tem outros benefícios?

Sim, é mais reutilizável.

Por exemplo, se você deseja alterar o valor padrão de y para 4, você não precisa fazer nenhum teste def (x, y = 4) sozinho, você pode declarar um diretamente e continuar a usá-lo.

Acho que você gosta

Origin blog.csdn.net/sinat_38682860/article/details/108665919
Recomendado
Clasificación