Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist Selbstbeobachtung in Python?

Was ist Selbstbeobachtung in Python?

Guanhui
Guanhuinach vorne
2020-06-22 13:37:302091Durchsuche

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 &#39;int&#39;>
>>> type([])<class &#39;list&#39;>

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&#39;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(&#39;print&#39;)
Help on built-in function print in module builtins:

print(...)
  print(value, ..., sep=&#39; &#39;, end=&#39;\n&#39;, 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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:jb51.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen