mikrocontroller.net

Forum: PC-Programmierung python lambda


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: lambdaman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

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

Danke und Gruß!

: Verschoben durch Moderator
Beitrag #5947802 wurde von einem Moderator gelöscht.
Autor: DPA (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: lambdaman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen lieben Dank für die Erklärung. Das reicht mir ;-)

Autor: ChilloMillo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lambdaman. Witziger name lol

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.