Il y a trois parties partielles:
(1) une première partie qui est le premier paramètre est une fonction qui peut être défini par vous, python peut être intégré dans des fonctions
(2) la seconde partie est un paramètre variable * args,
(3). la troisième partie est un paramètre clé ** args,
effet fonction partielle est: la fonction agissant en tant que fonction partielle () du premier paramètre,
les paramètres de la fonction d' origine en fonction séquence () partielle les arguments suivants, la fonction d' origine ont des arguments mot - clé doit être mis sur des mots clés,
non, selon l'ordre initial du supplément d'arguments.
Python version 3.6
de functools partielles d' importation
def sum_add (* args1):
décorateur def (func):
def my_sum (* args2):
my_s = 0
pour n dans args1:
my_s + = n
retour func (* args2) + my_s
my_sum de retour
décorateur de retour
@sum_add (10,20)
def test_sum (* args):
valeur = 0
pour i dans args:
valeur + = i
valeur de retour d'
impression (test_sum (1,2,3,4,5))
############### ##########以上通过带参数装饰器,获得1 + 2 + 3 + 4 + 5 + 10 + 20列子
somme def (* args):
s = 0
pour n dans args:
s = s + n
retour de
sum_add_10 = partiel (somme, 10)
sum_add_10_20 = partiel (somme, 10,20)
impression (somme) d'
impression (partiel (somme, 10))
Imprimer (sum_add_10 (1,2,3,4,5))
Imprimer (sum_add_10_20 (1,2,3,4,5))
Imprimer ( '*' * 50)
############ ################# fonction partielle ########################## Liezi. 1
L = Liste (PO (1,11))
slice_5_10 = partiel (tranche, 5,10) #slice intégré dans la tranche de fonction (démarrage, arrêt, marche) fonction pour obtenir les tranches d'objets, principalement utilisés dans l'opération de découpage en tranches dans le paramètre de la fonction.
imprimer (L [slice_5_10 ()])
print ( '*' * 50)
############################# fonction partielle Liezi 2 ################# #########
def mod (m, key = 2):
retour m touche% == 0
mod_to_2 = partiel (mod, key = 2)
impression (mod (6))
impression (mod_to_2 (3))
mod_to_5 = partiel (mod, key = 5 )
impression (mod (25, key = 5))
impression (mod_to_5 (35))