Dieser Artikel gibt Ihnen eine detaillierte Erklärung der Verwendung erweiterter Python-Funktionen mit Beispielen. Der Inhalt ist ziemlich gut. Ich hoffe, er kann Freunden in Not helfen.
Probleme mit Funktionsparametern
Drei grundlegende Situationen
fun(a,b)
fun(a,b) b ist ein iterierbares Objekt
fun(a,**b) b ist ein iteratives Objekt mit einem Abruftyp innerhalb des Funktionskörpers Beim Parsen ist es ziemlich wörterbuch
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参数把键值对转换成字典的形式
anonyme Funktion
Lambda
Es gibt keinen Rückgabewert, der Rückgabewert ist der Wert des Ausdrucks
Die Funktion hat keinen Namen, Sie müssen sich keine Sorgen über Namenskonflikte machen
Anonyme Funktion ist auch ein Funktionsobjekt. Sie können die anonyme Funktion auch einer Variablen zuweisen und verwenden die Variable zum Aufrufen der Funktion
fun3 = lambda x:x+1 print(fun3(99)) #100 fun4 = lambda x,y :x*x + y*y print(fun4(3,4)) #25
Decorator@
Auf diese Weise können Sie dem Code dynamisch Funktionalität hinzufügen ausgeführt wird, wird als „Decorator“ (Decorator) bezeichnet
Decorator ohne Parameter
#定义一个装饰器 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()
Interne logische Beziehung des Decorators (Aufrufreihenfolge): log() -> ; return wrapper() -> return func() -> Integrierte BiF-Funktion
zip: Kombinieren Sie zwei Iterationsobjekte zu einem Iterationsobjekt
#定义一个装饰器 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()
Hinweis: Redundante nicht übereinstimmende Variablen werden verworfen
enumerate: gibt ein iterierbares Objekt zurück, bestehend aus Position + Element
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: Filterfunktion
for i,j in enumerate('abcde'): print(i,j)
Zwei Parameter, der erste ist ein Parameter, der zweite ist ein iterierbares Objekt und der zurückgegebene Wert ist ebenfalls ein iterierbares Objekt ; wenn das iterierbare Objekt im Parameter in der Funktion True ist, wird der Wert beibehalten, andernfalls übergeben
map
Die Verwendung ähnelt dem Filter, mit den folgenden Unterschieden:
print(list(filter(lambda x:(x*x+x+2)%8 == 0,range(100))))
reduzieren
print(list(map(lambda x:x**2,range(5))))
Verwandte Empfehlungen:
from functools import reduce add = lambda x,y:x+y ls = [i for i in range(101)] print(reduce(add,ls))
Erweiterte Funktionen von Python
Sammlung von Python-Funktionen und erweiterter Syntax
Erweiterte Nutzung von Python-Funktionen
Das obige ist der detaillierte Inhalt vonDetaillierte Beispiele für die Verwendung erweiterter Python-Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!