Zuordnung zur Druckfunktion

Buzzdriving

Eine Freundin von mir macht einen Python-Tutorial-Kurs und bat um Hilfe, weil ihr Code nicht wie erwartet funktionierte.

Ich konnte das Problem sofort identifizieren und ihr helfen, das Problem für sich selbst abzuleiten. Der Code war in diese Richtung.

myValue = 575.0
print=(myValue)

Offensichtlich ist der Druck fehlgeschlagen. Aber wenn ich sage, dass es fehlgeschlagen ist, meine ich nur, dass es nichts gedruckt hat. Der Interpreter hat diese Zeile weiterhin ohne Probleme ausgeführt. Meine Frage ist also, warum der Zuweisungsoperator keinen Syntaxfehler auslöst.

ForceBru

Es wird kein Fehler ausgegeben, da es sich in Python 3 printum eine reguläre Funktion handelt. Und Funktionsobjekte sind an Namen gebunden, ebenso printein Name (eine "Variable"), der sich auf ein bestimmtes Funktionsobjekt bezieht.

Da sich Funktionen nicht von Variablen unterscheiden, können Sie sie nach Belieben neu zuweisen:

def add(a, b):
    return a + b

add = "ha-ha, I'm a string"

Die Klammern nach dem =Zeichen sind die Art von Klammern, die Sie in der Mathematik verwenden:

print = (1 + 2)  # print == 3

Klammern unmittelbar nach einem Namen stehen für einen Funktionsaufruf.

Aber jetzt printist es kaputt und Sie werden nie mehr etwas drucken können! Nicht wirklich - es gibt eine Kopie in __builtins__.print:

print = __builtins__.print

Sie können dies jedoch genauso leicht durcheinander bringen:

__builtins__.print = 5

In Python 2 handelt es sich jedoch printum eine Anweisung, nicht um eine reguläre Funktion. Daher schlägt dies fehl:

Python 2.7.16 (default, Dec  3 2019, 07:02:07)
>>> print = 5
  File "<stdin>", line 1
    print = 5
          ^
SyntaxError: invalid syntax

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

TOP Liste

  1. 1

    Pandas rufen einen Wert basierend auf dem Index ab

  2. 2

    TypeAhead.js zeigt keine Ausgangsschienen an?

  3. 3

    Wie lade ich eine Datei herunter, ohne den Typ oder Dateinamen zu kennen?

  4. 4

    So verschieben Sie ein Bild in Flutter/Dart mit einem Draggable

  5. 5

    numpy: Berechnen Sie die Ableitung der Softmax-Funktion

  6. 6

    MongoDB eingebettetes Dokument unterscheiden und filtern

  7. 7

    spring-data-jpa: ORA-01795: Die maximale Anzahl von Ausdrücken in einer Liste beträgt 1000

  8. 8

    Wie aktualisiere ich ein Feld in einer Raumdatenbank mit einem Repository und einem Ansichtsmodell?

  9. 9

    Warum funktioniert das Umgebungslicht in diesem Beispiel nicht?

  10. 10

    Wie verwende ich Format-Table ohne Abschneiden von Werten?

  11. 11

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  12. 12

    Interpolieren Sie mit Python die 2D-Matrix entlang der Spalten

  13. 13

    Aktualisieren des Werts im Json-Objekt in Python

  14. 14

    Wie vermeide ich, dass die gesamte App neu geladen wird, wenn Nav.Link von React-Bootstrap verwendet wird?

  15. 15

    Docker bleibt beim Ausführen von time.sleep (1) in einer Python-Schleife hängen

  16. 16

    Excel VBA - Erstellen Sie mehrere Dateien aus Daten in mehreren Arbeitsmappen

  17. 17

    Überprüfen Sie, ob der ausgewählte Wert 'YES' ist, wenn ja, aktivieren Sie ein Steuerelement mit Javascript

  18. 18

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  19. 19

    Python gibt einen Fehler aus, dass eine Datei nicht vorhanden ist, wenn dies eindeutig der Fall ist

  20. 20

    Unity Build-Fehler: Der Name 'EditorUtility' ist im aktuellen Kontext nicht vorhanden

  21. 21

    Deklarieren einer nicht initialisierten Variablen in der Klassendefinition in Python

heißlabel

Archiv