Heim >Backend-Entwicklung >Python-Tutorial >Was ist Selbstbeobachtung in Python?
Was ist Selbstbeobachtung?
Im täglichen Leben ist Selbstbeobachtung ein Akt der Selbstprüfung.
In der Computerprogrammierung bezieht sich Selbstbeobachtung auf die Fähigkeit, etwas zu untersuchen, um festzustellen, was es ist, was es weiß und was es tun kann. Introspektion bietet Programmierern große Flexibilität und Kontrolle.
Einfacher und direkter ausgedrückt: Selbstbeobachtung bedeutet, dass ein in einer objektorientierten Sprache geschriebenes Programm den Typ des Objekts erkennen kann, wenn es ausgeführt wird. Vereinfacht ausgedrückt kann der Objekttyp zur Laufzeit bekannt sein.
Python, Buby, Object-C und C++ verfügen beispielsweise alle über die Fähigkeit zur Selbstbeobachtung. C++ verfügt über die schwächste Fähigkeit zur Selbstbeobachtung. Es kann nur wissen, um welchen Typ es sich handelt um welchen Typ es sich handelt und welche Eigenschaften es hat.
Der beste Weg, Selbstbeobachtung zu verstehen, sind Beispiele: Geben Sie Selbstbeobachtung ein. Hier sind Beispiele für Selbstbeobachtung in verschiedenen Programmiersprachen (die Beispiele in diesem Link sind sehr wichtig, vielleicht ist es für Sie schwierig zu verstehen, was Selbstbeobachtung ist durch Erzählung, aber durch diese Beispiele können Sie es sofort verstehen)
Zurück zu Python, die gebräuchlicheren Selbstbeobachtungsmechanismen (Funktionsverwendung) in Python sind: dir(), type(), hasattr() , Mit isinstance () können wir über diese Funktionen den Typ des Objekts kennen, wenn das Programm ausgeführt wird, feststellen, ob ein bestimmtes Attribut im Objekt vorhanden ist, und auf die Attribute des Objekts zugreifen.
dir()
dir()-Funktion ist wahrscheinlich der bekannteste Teil von Pythons Selbstbeobachtungsmechanismus. Es gibt eine sortierte Liste der Eigenschaftsnamen aller an es übergebenen Objekte zurück. Wenn kein Objekt angegeben ist, gibt dir() den Namen im aktuellen Bereich zurück. Wenden wir die Funktion dir() auf das Schlüsselwortmodul an und sehen, was sie preisgibt:
>>> import keyword >>> dir(keyword) ['__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', 'iskeyword', 'kwlist', 'main']
type()
Mit der Funktion type() können wir feststellen, ob es sich bei dem Objekt um einen String, eine Ganzzahl oder einen anderen Objekttyp handelt. Dies geschieht durch die Rückgabe eines Typobjekts, das mit den im Typenmodul definierten Typen verglichen werden kann:
>>> type(42)<class 'int'> >>> type([])<class 'list'>
isinstance()
Ein Objekt kann mit der Funktion isinstance() getestet werden, um festzustellen, ob es eine Instanz eines bestimmten Typs oder einer benutzerdefinierten Klasse ist:
>>> isinstance("python", str) True
Erweiterung der Hilfenutzung in der Python-Selbstbeobachtung:
Öffnen Sie IDLE von Python und geben Sie den Python-Interpreter selbst ein, der als Hauptmodul betrachtet wird, und dann an der Interpreter-Eingabeaufforderung >>> Geben Sie einige Informationen ein, die wir wissen möchten, also werden wir zuerst um Hilfe bitten. Geben Sie also Hilfe ein, geben Sie dann help () ein, geben Sie das Hilfeprogramm ein und befolgen Sie dann die Schlüsselwörter und Module der Eingabeaufforderung, um die kommenden Python-Schlüsselwörter und -Module zu verstehen mit Python oder werden zusätzlich von uns installiert und definiert. Wenn Sie beenden möchten, geben Sie „q“ ein und drücken Sie die Eingabetaste.
Wenn wir etwas über ein Objekt wissen wollen (alle Objekte in Python können als Objekte betrachtet werden), können wir auch nach help() fragen, aber wir müssen den Namen des Objekts in Klammern in das Format help eingeben (Objekt), zum Beispiel help(print), da das Objekt zu viel Selbstbeobachtungsinhalt hat, fügen einige nur einen Teil des Inhalts ein.
>>> help Type help() for interactive help, or help(object) for help about object. >>> help() Welcome to Python 3.6's help utility! If this is your first time using Python, you should definitely check out the tutorial on the Internet at https://docs.python.org/3.6/tutorial/. Enter the name of any module, keyword, or topic to get help on writing Python programs and using Python modules. To quit this help utility and return to the interpreter, just type "quit". ... help> keywords Here is a list of the Python keywords. Enter any keyword to get more help. False def if raise None del import return True elif in try and else is while as except lambda with assert finally nonlocal yield break for not class from or continue global pass help> modules Please wait a moment while I gather a list of all available modules... PIL base64 idlelib runpy __future__ bdb idna runscript __main__ binascii idna_ssl sched _ast binhex imaplib scrolledlist _asyncio bisect imghdr search _bisect browser imp ... Enter any module name to get more help. Or, type "modules spam" to search for modules whose name or summary contain the string "spam". >>> help('print') Help on built-in function print in module builtins: print(...) print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints the values to a stream, or to sys.stdout by default. Optional keyword arguments: file: a file-like object (stream); defaults to the current sys.stdout. sep: string inserted between values, default a space. end: string appended after the last value, default a newline. flush: whether to forcibly flush the stream.
Empfohlene Tutorials: „Python-Tutorial“ „Python-Tutorial“
Das obige ist der detaillierte Inhalt vonWas ist Selbstbeobachtung in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!