Maison  >  Article  >  développement back-end  >  Exemples détaillés d'utilisation des fonctions avancées de Python

Exemples détaillés d'utilisation des fonctions avancées de Python

零到壹度
零到壹度original
2018-05-15 14:20:232456parcourir

Cet article partage avec vous une explication détaillée de l'utilisation des fonctions avancées de Python avec des exemples. Le contenu est assez bon. J'espère qu'il pourra aider les amis dans le besoin.

Problèmes de paramètres de fonction

Trois situations de base

  • fun(a,b)

  • fun(a,b) b est un objet itérable

  • fun(a,**b) b est un objet d'itération avec un type de récupération, à l'intérieur du corps de la fonction Lors de l'analyse, cela équivaut à un dictionnaire

ls = [i for i in range(10)]
#print(ls)
def fun1(a,*b):
    for i in b:
        print(a,i)
#fun1(1,*ls)

def fun2(name,age,**kw):
    print("name:",name,"age:",age,"other:",kw)

fun2('fanhaitao','26',参数= 'random')
**kw参数把键值对转换成字典的形式

fonction anonyme

lambda

  1. Il n'y a pas de valeur de retour, la valeur de retour est la valeur de l'expression

  2. La fonction n'a pas de nom, pas besoin de s'inquiéter des conflits de noms

  3. La fonction anonyme est également un objet fonction Vous pouvez également attribuer la fonction anonyme à une variable. et utilisez la variable pour appeler la fonction

fun3 = lambda x:x+1
print(fun3(99))

#100
fun4 = lambda x,y :x*x + y*y
print(fun4(3,4))
#25

Decorator@

Cette façon d'ajouter dynamiquement des fonctionnalités tout en le code est en cours d'exécution est appelé un "décorateur" (Decorator)

Décorateur sans paramètres

#定义一个装饰器
def log(func):
    def wrapper(*args,**kw):
        print('call %s()' % func.__name__)
        return func(*args,**kw)
    return wrapper
@log
def now():
    print('2018-3-29')
    
now()

Relation logique interne du décorateur (ordre d'appel ): log() -> ; return wrapper() -> return func() -> 🎜> Fonction intégrée BiF

zip : combinez deux objets d'itération en un seul objet d'itération

#定义一个装饰器
def log(text):
    def decorator(func):
        def wrapper(*args,**kw):
            print('%s %s():' % (text,func.__name__))
            return func(*args,**kw)
        return wrapper
    return decorator
@log("可爱的参数")
def now():
    print('2018-3-29')

now()

Remarque : les variables redondantes sans correspondance seront be Discard

enumerate : renvoie un objet itérable, composé d'une position + élément

a = [1,2,3]
b = 'abcde'
for i in zip(a,b):
    print(i)
for i,j in zip(a,b):
    print("Index:",i,";Item:",j)

filter : fonction de filtre

for i,j in enumerate('abcde'):
    print(i,j)

Deux paramètres, le premier est un paramètre, le second est un objet itérable et la valeur renvoyée est également Objet itérable ; si l'objet itérable dans le paramètre est True dans la fonction, la valeur sera conservée, sinon pass

map

L'utilisation est similaire au filtre, avec les différences suivantes :
print(list(filter(lambda x:(x*x+x+2)%8 == 0,range(100))))


La fonction dans le paramètre opère sur chaque objet d'itération

  • Renvoyer l'objet manipulé

  • réduire

print(list(map(lambda x:x**2,range(5))))
Dans la bibliothèque functools

  • func reçoit 2 paramètres,

  • réduire Continuer le calcul cumulé du résultat avec l'élément suivant de la séquence

  • #5050

Recommandations associées :
from functools import reduce
add = lambda x,y:x+y
ls = [i for i in range(101)]
print(reduce(add,ls))


Fonctions avancées de Python

Collection de fonctions Python et syntaxe avancée

Utilisation avancée des fonctions Python

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn