python lambda

Gast #5947800
Lesenswert?

Hallo,

kann mir jemand erklären, was das Lambda in folgendem Code tut?
1
    request = urllib.request.Request(BaseURL + '/API/' + Attributes['LOAD']['ID'], data)
2
    request.get_method = lambda: 'PATCH'
3
    resp = urllib.request.urlopen(request)
4
    print (resp.read().decode("utf-8"))

Danke und Gruß!
Beitrag #5947802 wurde von einem Moderator gelöscht.
Gast #5947827
Lesenswert?

Wenn der lambda über request.get_method() aufgerufen wird, gibt er des 
String 'PATCH' zurück. Wenn urllib.request.urlopen(request) den request 
versickt, nimmt sie den String als Methode, die von request.get_method() 
zurückgegeben wird. In anderen Worten, es wird ein patch request statt 
ein post request gesendet. PATCH PUT POST, die Requests unterscheiden 
sich nur in einem Wort, aber man verwendet sie gerne für 
unterschiedliche Arten von Aufgaben, um die Wahrscheinlichkeit, dass 
man/jemand etwas unbeabsichtigtes anstellt, zu verringern. Die PATCH 
Methode verwendet man in der Regel, um einen Teil einer Sache upzudaten 
oder zu ersetzen: 
https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/PATCH Die API 
muss das natürlich aber auch so vorsehen, sonst passiert gar nichts. 
Viele backend Entwickler verwenden einfach für alle Sachen, wo Daten 
gesendet/geändert werden, sie POST methode.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren