Python ist aufgrund seiner Leistung und seiner leistungsstarken Bibliotheken die am häufigsten verwendete Sprache in Top-Unternehmen wie Intel, IBM, NASA, Pixar, Netflix, Facebook, JP Morgan Chase, Spotify und vielen anderen. Um als Python-Entwickler in diese Unternehmen und Organisationen einzusteigen, müssen Sie einige wichtige Kenntnisse beherrschen Fragen zum Python-Interview um ihre Python Online Assessment Round und Python Interview Round zu knacken. Wir haben eine Liste der erstellt Die 50 wichtigsten Python-Interviewfragen zusammen mit ihren Antworten auf Ace in Interviews.
Fragen zum Python-Interview
Inhaltsverzeichnis
- Grundlegende Python-Interviewfragen für Erstsemester
- 1. Was ist Python? Listen Sie einige beliebte Anwendungen von Python in der Welt der Technologie auf.
- 2. Welche Vorteile bietet die Verwendung der Python-Sprache als Werkzeug im vorliegenden Szenario?
- 3. Ist Python eine kompilierte Sprache oder eine interpretierte Sprache?
- 4. Was bewirkt das „#“-Symbol in Python?
- 6. Wie werden Argumente in Python als Wert oder als Referenz übergeben?
- 7. Was ist der Unterschied zwischen einem Set und einem Wörterbuch?
- 8. Was ist Listenverständnis? Gib ein Beispiel.
- 9. Was ist eine Lambda-Funktion?
- 10. Was ist ein Pass in Python?
- 11. Was ist der Unterschied zwischen / und // in Python?
- 12. Wie erfolgt die Ausnahmebehandlung in Python?
- 13. Was ist die Swapcase-Funktion in Python?
- 14. Unterschied zwischen for-Schleife und while-Schleife in Python
- 15. Können wir in Python eine Funktion als Argument übergeben?
- 16. Was sind *args und *kwargs?
- 17. Ist in Python eine Einrückung erforderlich?
- 18. Was ist Scope in Python?
- 19. Was ist Docstring in Python?
- 20. Was ist eine dynamisch typisierte Sprache?
- 21. Was ist ein Break, Continue und Pass in Python?
- 23. Wie schreibt man in Python eine Zahl?
- Fragen zum Python-Interview für Fortgeschrittene
- 24. Was ist der Unterschied zwischen xrange- und range-Funktionen?
- 25. Was ist Wörterbuchverständnis? Gib ein Beispiel
- 26. Ist Tupelverständnis? Wenn ja, wie und wenn nicht, warum?
- 27. Zwischen Liste und Tupel unterscheiden?
- 28. Was ist der Unterschied zwischen einer flachen Kopie und einer tiefen Kopie?
- 29. Welche Sortiertechnik wird von den Funktionen sort() und sorted() von Python verwendet?
- 30. Was sind Dekorateure?
- 31. Wie debuggt man ein Python-Programm?
- 32. Was sind Iteratoren in Python?
- 33. Was sind Generatoren in Python?
- 34. Unterstützt Python Mehrfachvererbung?
- 35. Was ist Polymorphismus in Python?
- 36. Kapselung in Python definieren?
- 38. Wie erfolgt die Speicherverwaltung in Python?
- 39. Wie lösche ich eine Datei mit Python?
- 40. Was ist Slicing in Python?
- 41. Was ist ein Namespace in Python?
- Fragen und Antworten zum fortgeschrittenen Python-Interview
- 42. Was ist PIP?
- 43. Was ist eine Zip-Funktion?
- 44. Was sind Beizen und Abbeizen?
- 45. Was ist Monkey Patching in Python?
- 46. Was ist __init__() in Python?
- 47. Einen Code schreiben, um die aktuelle Uhrzeit anzuzeigen?
- 48. Was sind Zugriffsspezifizierer in Python?
- 49. Was sind Unit-Tests in Python?
- 50. Python Global Interpreter Lock (GIL)?
- 51. Was sind Funktionsanmerkungen in Python?
- 52. Was sind Ausnahmegruppen in Python?
- 53. Was ist die Python-Switch-Anweisung?
- 54. Was ist Walrus Operator?
Grundlegende Python-Interviewfragen für Erstsemester
1. Was ist Python? Listen Sie einige beliebte Anwendungen von Python in der Welt der Technologie auf.
Python ist eine weit verbreitete Allzweck-Programmiersprache auf hohem Niveau. Es wurde 1991 von Guido van Rossum erstellt und von der Python Software Foundation weiterentwickelt. Bei der Entwicklung wurde der Schwerpunkt auf die Lesbarkeit des Codes gelegt, und seine Syntax ermöglicht es Programmierern, ihre Konzepte in weniger Codezeilen auszudrücken.
Es wird genutzt für:
- Systemskripting
- Web Entwicklung
- Spieleentwicklung
- Software-Entwicklung
- Komplexe Mathematik
2. Welche Vorteile bietet die Verwendung der Python-Sprache als Werkzeug im vorliegenden Szenario?
Die Verwendung der Python-Sprache bietet folgende Vorteile:
- Objektorientierte Sprache
- Hochsprache
- Dynamisch typisierte Sprache
- Umfangreiche Support-Bibliotheken
- Vorhandensein von Modulen von Drittanbietern
- Open Source und Community-Entwicklung
- Tragbar und interaktiv
- Über Betriebssysteme hinweg portierbar
3. Ist Python eine kompilierte Sprache oder eine interpretierte Sprache?
Eigentlich ist Python eine teilweise kompilierte und teilweise interpretierte Sprache. Der Kompilierungsteil wird zuerst durchgeführt, wenn wir unseren Code ausführen. Dadurch wird intern Bytecode generiert. Dieser Bytecode wird von der virtuellen Python-Maschine (p.v.m) entsprechend der zugrunde liegenden Plattform (Maschine + Betriebssystem) konvertiert.
4. Was bewirkt das „#“-Symbol in Python?
„#“ wird verwendet, um alles zu kommentieren, was in der Zeile folgt.
6. Wie werden Argumente in Python als Wert oder als Referenz übergeben?
Alles in Python ist ein Objekt und alle Variablen enthalten Verweise auf die Objekte. Die Referenzwerte richten sich nach den Funktionen; Daher können Sie den Wert der Referenzen nicht ändern. Sie können die Objekte jedoch ändern, wenn sie veränderbar sind.
7. Was ist der Unterschied zwischen einem Set und einem Wörterbuch?
Die Menge ist eine ungeordnete Sammlung von Datentypen, die iterierbar und veränderbar ist und keine doppelten Elemente enthält.
Ein Wörterbuch in Python ist eine geordnete Sammlung von Datenwerten, die zum Speichern von Datenwerten wie einer Karte verwendet wird.
8. Was ist Listenverständnis? Gib ein Beispiel.
Das Listenverständnis ist eine Syntaxkonstruktion, die die Erstellung einer Liste auf der Grundlage vorhandener iterierbarer Elemente erleichtert.
Zum Beispiel:
my_list = [i for i in range(1, 10)]>
9. Was ist eine Lambda-Funktion?
Eine Lambda-Funktion ist eine anonyme Funktion. Diese Funktion kann eine beliebige Anzahl von Parametern, aber nur eine Anweisung haben. Zum Beispiel:
a = lambda x, y : x*y print(a(7, 19))>
10. Was ist ein Pass in Python?
Pass bedeutet, dass keine Operation ausgeführt wird, oder mit anderen Worten, es ist ein Platzhalter in der zusammengesetzten Anweisung, wo ein Leerzeichen übrig bleiben sollte und dort nichts geschrieben werden muss.
11. Was ist der Unterschied zwischen / und // in Python?
/ stellt eine genaue Division dar (Ergebnis ist eine Gleitkommazahl), wohingegen // eine Bodendivision darstellt (Ergebnis ist eine Ganzzahl). Zum Beispiel:
5//2 = 2 5/2 = 2.5>
12. Wie erfolgt die Ausnahmebehandlung in Python?
Es gibt drei Hauptschlüsselwörter, d. h. „try“, „exclusive“ und „finally“, die zum Abfangen von Ausnahmen und zum entsprechenden Umgang mit dem Wiederherstellungsmechanismus verwendet werden. Try ist der Block eines Codes, der auf Fehler überwacht wird. Außer, dass der Block ausgeführt wird, wenn ein Fehler auftritt.
Das Schöne am letzten Block besteht darin, den Code auszuführen, nachdem versucht wurde, einen Fehler zu finden. Dieser Block wird unabhängig davon ausgeführt, ob ein Fehler aufgetreten ist oder nicht. Schließlich wird der Block verwendet, um die erforderlichen Bereinigungsaktivitäten von Objekten/Variablen durchzuführen.
13. Was ist die Swapcase-Funktion in Python?
Es handelt sich um eine String-Funktion, die alle Großbuchstaben in Kleinbuchstaben umwandelt und umgekehrt. Es wird verwendet, um die bestehende Groß-/Kleinschreibung der Zeichenfolge zu ändern. Diese Methode erstellt eine Kopie der Zeichenfolge, die alle Zeichen im Swap-Fall enthält. Zum Beispiel:
string = 'techcodeview.com' string.swapcase() --->'gEEKSFORgEEKS'>
14. Unterschied zwischen for-Schleife und while-Schleife in Python
Die for-Schleife wird im Allgemeinen verwendet, um die Elemente verschiedener Sammlungstypen zu durchlaufen, z Aufführen , Tupel , Satz , Und Wörterbuch . Entwickler verwenden eine for-Schleife, in der sowohl die Bedingungen beginnen als auch enden. Die while-Schleife hingegen ist die eigentliche Schleifenfunktion, die in jeder anderen Programmiersprache verwendet wird. Programmierer verwenden eine Python-while-Schleife, in der sie nur die Endbedingungen haben.
15. Können wir in Python eine Funktion als Argument übergeben?
Ja, einer Funktion können mehrere Argumente übergeben werden, darunter Objekte, Variablen (gleicher oder unterschiedlicher Datentypen) und Funktionen. Funktionen können als Parameter an andere Funktionen übergeben werden, da es sich um Objekte handelt. Funktionen höherer Ordnung sind Funktionen, die andere Funktionen als Argumente annehmen können.
Weitere Informationen finden Sie im Artikel: Übergeben einer Funktion als Argument in Python
16. Was sind *args und *kwargs?
Um in Python eine variable Anzahl von Argumenten an eine Funktion zu übergeben, verwenden Sie die spezielle Syntax *args und **kwargs in der Funktionsspezifikation. Es wird verwendet, um eine Argumentliste variabler Länge und ohne Schlüsselwörter zu übergeben. Durch die Verwendung des * wird die Variable, die wir mit dem * verknüpfen, iterierbar, sodass Sie Operationen daran ausführen können, z. B. darüber iterieren und Operationen höherer Ordnung wie Map und Filter verwenden.
17. Ist in Python eine Einrückung erforderlich?
Ja, Vertiefung ist in Python erforderlich. A Python Mithilfe der Python-Einrückung kann der Interpreter darüber informiert werden, dass eine Gruppe von Anweisungen zu einem bestimmten Codeblock gehört. Durch Einrückungen ist der Code für Entwickler in allen Programmiersprachen leicht lesbar. In Python ist es jedoch sehr wichtig, den Code in einer bestimmten Reihenfolge einzurücken.
18. Was ist Scope in Python?
Der Ort, an dem wir eine Variable finden und bei Bedarf auch darauf zugreifen können, wird als Gültigkeitsbereich einer Variablen bezeichnet.
- Lokale Python-Variable: Lokale Variablen sind solche, die innerhalb einer Funktion initialisiert werden und für diese Funktion eindeutig sind. Der Zugriff außerhalb der Funktion ist nicht möglich.
- Globale Python-Variablen: Globale Variablen sind diejenigen, die außerhalb einer Funktion definiert und deklariert werden und keiner Funktion zugewiesen sind.
- Umfang auf Modulebene: Es bezieht sich auf die globalen Objekte des aktuellen Moduls, auf die im Programm zugegriffen werden kann.
- Äußerster Geltungsbereich: Es bezieht sich auf alle integrierten Namen, die das Programm aufrufen kann. Der referenzierte Name steht an letzter Stelle unter den Objekten in diesem Bereich.
19. Was ist Docstring in Python?
Python-Dokumentationszeichenfolgen (oder Dokumentzeichenfolgen) bieten eine praktische Möglichkeit, Dokumentation mit Python-Modulen, -Funktionen, -Klassen und -Methoden zu verknüpfen.
- Dokumentzeichenfolgen deklarieren: Die Dokumentzeichenfolgen werden mit „dreifachen einfachen Anführungszeichen“ oder dreifachen doppelten Anführungszeichen direkt unter der Klassen-, Methoden- oder Funktionsdeklaration deklariert. Alle Funktionen sollten einen Dokumentstring haben.
- Auf Docstrings zugreifen: Auf die Dokumentzeichenfolgen kann über die Methode __doc__ des Objekts oder über die Hilfefunktion zugegriffen werden.
20. Was ist eine dynamisch typisierte Sprache?
Typisierte Sprachen sind die Sprachen, in denen wir den Typ des Datentyps definieren und der der Maschine zur Kompilierungszeit oder zur Laufzeit bekannt ist. Typisierte Sprachen können in zwei Kategorien eingeteilt werden:
- Statisch typisierte Sprachen: Bei dieser Art von Sprache ist der Datentyp einer Variablen zum Zeitpunkt der Kompilierung bekannt, was bedeutet, dass der Programmierer den Datentyp einer Variablen zum Zeitpunkt ihrer Deklaration angeben muss.
- Dynamisch typisierte Sprachen: Dies sind die Sprachen, die keinen vordefinierten Datentyp für eine Variable erfordern, da dieser zur Laufzeit von der Maschine selbst interpretiert wird. In diesen Sprachen weisen Interpreter einer Variablen zur Laufzeit abhängig von ihrem Wert den Datentyp zu.
21. Was ist ein Break, Continue und Pass in Python?
Der break-Anweisung wird verwendet, um die Schleife oder Anweisung zu beenden, in der sie vorhanden ist. Danach wird die Kontrolle an die Anweisungen übergeben, die nach der break-Anweisung stehen, sofern verfügbar.
Kartentyposkript
Weitermachen ist ebenso wie die break-Anweisung auch eine Schleifenkontrollanweisung. Die continue-Anweisung ist das Gegenteil der break-Anweisung. Anstatt die Schleife zu beenden, erzwingt sie die Ausführung der nächsten Iteration der Schleife.
Passieren bedeutet, dass keine Operation ausgeführt wird, oder mit anderen Worten, es ist ein Platzhalter in der zusammengesetzten Anweisung, wo ein Leerzeichen übrig bleiben sollte und dort nichts geschrieben werden muss.
Numerisch: Der numerische Datentyp in Python stellt die Daten dar, die einen numerischen Wert haben. Ein numerischer Wert kann eine Ganzzahl, eine Gleitkommazahl oder ein Boolescher Wert sein , oder sogar eine komplexe Zahl.
23. Wie schreibt man in Python eine Zahl?
Das Python-Mathemodul enthält eine Methode, mit der die Untergrenze einer Zahl berechnet werden kann.
- Boden() Die Methode in Python gibt die Untergrenze von x zurück, d. h. die größte ganze Zahl, die nicht größer als x ist.
- Außerdem gibt die Methode ceil(x) in Python einen Höchstwert von x zurück, d. h. die kleinste ganze Zahl, die größer oder gleich x ist.
Fragen zum Python-Interview für Fortgeschrittene
24. Was ist der Unterschied zwischen xrange- und range-Funktionen?
range() und xrange() sind zwei Funktionen, die verwendet werden können, um eine bestimmte Anzahl von Malen in For-Schleifen in Python zu durchlaufen. In Python 3 gibt es kein xrange, aber die Range-Funktion verhält sich wie xrange in Python 2.
- Reichweite() – Dies gibt eine Liste von Zahlen zurück, die mit der Funktion range() erstellt wurden.
- xrange() – Diese Funktion gibt das Generatorobjekt zurück, mit dem Zahlen nur durch Schleifen angezeigt werden können. Der einzige bestimmte Bereich wird bei Bedarf angezeigt und somit aufgerufen faule Bewertung .
25. Was ist Wörterbuchverständnis? Gib ein Beispiel
Dictionary Comprehension ist eine Syntaxkonstruktion, die die Erstellung eines Wörterbuchs basierend auf der vorhandenen Iteration erleichtert.
Zum Beispiel: my_dict = {i:i+7 für i im Bereich(1, 10)}
26. Ist Tupelverständnis? Wenn ja, wie und wenn nicht, warum?
(i for i in (1, 2, 3))>
Tupelverständnis ist in Python nicht möglich, da es in einem Generator und nicht in einem Tupelverständnis endet.
27. Zwischen Liste und Tupel unterscheiden?
Lassen Sie uns die Unterschiede zwischen Liste und Tupel analysieren:
Aufführen
- Listen sind vom veränderlichen Datentyp.
- Listen verbrauchen mehr Speicher
- Die Liste eignet sich besser zum Ausführen von Vorgängen wie Einfügen und Löschen.
- Die Auswirkung von Iterationen ist zeitaufwändig
Tupel
- Tupel sind unveränderliche Datentypen.
- Tupel verbraucht im Vergleich zur Liste weniger Speicher
- Für den Zugriff auf die Elemente eignet sich ein Tuple-Datentyp
- Die Implikation von Iterationen ist vergleichsweise schneller
28. Was ist der Unterschied zwischen einer flachen Kopie und einer tiefen Kopie?
Eine flache Kopie wird verwendet, wenn ein neuer Instanztyp erstellt wird, und behält kopierte Werte bei, während eine tiefe Kopie bereits kopierte Werte speichert.
Eine flache Kopie führt zu einer schnelleren Programmausführung, wohingegen eine tiefe Kopie sie langsamer macht.
29. Welche Sortiertechnik wird von den Funktionen sort() und sorted() von Python verwendet?
Python verwendet die Tim Sort Algorithmus zum Sortieren. Es handelt sich um eine stabile Sortierung, deren schlimmster Fall O(N log N) ist. Es handelt sich um einen hybriden Sortieralgorithmus, der aus Merge-Sortierung und Einfügungssortierung abgeleitet ist und für eine gute Leistung bei vielen Arten realer Daten konzipiert ist.
30. Was sind Dekorateure?
Dekoratoren sind ein sehr leistungsfähiges und nützliches Werkzeug in Python, da sie die spezifischen Änderungen sind, die wir in der Python-Syntax vornehmen, um Funktionen einfach zu ändern.
31. Wie debuggt man ein Python-Programm?
Mit diesem Befehl können wir ein Python-Programm debuggen:
$ python -m pdb python-script.py>
32. Was sind Iteratoren in Python?
In Python werden Iteratoren verwendet, um eine Gruppe von Elementen, Container wie eine Liste, zu iterieren. Iteratoren sind Sammlungen von Elementen und können eine Liste, Tupel oder ein Wörterbuch sein. Der Python-Iterator implementiert __itr__ und die Methode next(), um die gespeicherten Elemente zu iterieren. Wir verwenden im Allgemeinen Schleifen, um die Sammlungen (Liste, Tupel) in Python zu durchlaufen.
33. Was sind Generatoren in Python?
In Python ist der Generator eine Methode, die angibt, wie Iteratoren implementiert werden. Es handelt sich um eine normale Funktion, außer dass sie einen Ausdruck in der Funktion liefert. Es implementiert nicht die Methoden __itr__ und next() und reduziert auch andere Overheads.
Wenn eine Funktion mindestens eine Yield-Anweisung enthält, wird sie zu einem Generator. Das Schlüsselwort yield hält die aktuelle Ausführung an, indem es deren Status speichert und dann bei Bedarf von dort fortfährt.
34. Unterstützt Python Mehrfachvererbung?
Im Gegensatz zu Java unterstützt Python Mehrfachvererbungen. Mehrfachvererbungen bedeuten, dass eine Klasse von mehr als einer übergeordneten Klasse abgeleitet werden kann.
35. Was ist Polymorphismus in Python?
Polymorphismus bedeutet die Fähigkeit, mehrere Formen anzunehmen. Wenn die übergeordnete Klasse beispielsweise über eine Methode namens ABC verfügt, kann die untergeordnete Klasse auch eine Methode mit demselben Namen ABC und eigenen Parametern und Variablen haben. Python erlaubt Polymorphismus.
36. Kapselung in Python definieren?
Kapselung bedeutet, den Code und die Daten miteinander zu verbinden. Eine Python-Klasse ist ein Beispiel für Kapselung.
38. Wie erfolgt die Speicherverwaltung in Python?
Python verwendet seinen privaten Heap-Speicherplatz, um den Speicher zu verwalten. Grundsätzlich werden alle Objekte und Datenstrukturen im privaten Heap-Bereich gespeichert. Selbst der Programmierer kann nicht auf diesen privaten Bereich zugreifen, da sich der Dolmetscher um diesen Bereich kümmert. Python verfügt außerdem über einen integrierten Garbage Collector, der den gesamten ungenutzten Speicher recycelt, den Speicher freigibt und ihn für den Heap-Speicher verfügbar macht.
39. Wie lösche ich eine Datei mit Python?
Wir können eine Datei mit Python folgendermaßen löschen:
- os.remove()
- os.unlink()
40. Was ist Slicing in Python?
Python-Slicing ist eine String-Operation zum Extrahieren eines Teils des Strings oder eines Teils einer Liste. Mit diesem Operator kann man angeben, wo mit dem Slicing begonnen werden soll, wo enden soll, und den Schritt festlegen. Beim Listen-Slicing wird eine neue Liste aus der vorhandenen Liste zurückgegeben.
Syntax: Lst[ Initial : End : IndexJump ]>
41. Was ist ein Namespace in Python?
Ein Namespace ist ein Benennungssystem, mit dem sichergestellt wird, dass Namen eindeutig sind, um Namenskonflikte zu vermeiden.
Fragen und Antworten zu fortgeschrittenen Python-Interviews
42. Was ist PIP?
PIP ist ein Akronym für Python Installer Package, das eine nahtlose Schnittstelle zur Installation verschiedener Python-Module bietet. Es handelt sich um ein Befehlszeilentool, das über das Internet nach Paketen suchen und diese ohne Benutzerinteraktion installieren kann.
43. Was ist eine Zip-Funktion?
Die Python-Funktion zip() gibt ein Zip-Objekt zurück, das einen ähnlichen Index mehrerer Container abbildet. Es nimmt ein Iterable, wandelt es in einen Iterator um und aggregiert die Elemente basierend auf den übergebenen Iterables. Es gibt einen Iterator von Tupeln zurück.
44. Was sind Beizen und Abbeizen?
Das Pickle-Modul akzeptiert jedes Python-Objekt, wandelt es in eine String-Darstellung um und speichert sie mithilfe der Dump-Funktion in einer Datei. Dieser Vorgang wird Pickling genannt. Der Vorgang des Abrufens ursprünglicher Python-Objekte aus der gespeicherten Zeichenfolgendarstellung wird als Unpickling bezeichnet.
45. Was ist Monkey Patching in Python?
In Python bezieht sich der Begriff Monkey Patch nur auf dynamische Änderungen einer Klasse oder eines Moduls zur Laufzeit.
# g.py class GeeksClass: def function(self): print 'function()' import m def monkey_function(self): print 'monkey_function()' m.GeeksClass.function = monkey_function obj = m.GeeksClass() obj.function()>
46. Was ist __init__() in Python?
Äquivalent zu Konstruktoren in der OOP-Terminologie ist __init__ eine reservierte Methode in Python-Klassen. Die Methode __init__ wird automatisch aufgerufen, wenn ein neues Objekt initiiert wird. Diese Methode weist dem neuen Objekt Speicher zu, sobald es erstellt wird. Diese Methode kann auch zum Initialisieren von Variablen verwendet werden.
47. Einen Code schreiben, um die aktuelle Uhrzeit anzuzeigen?
import time currenttime= time.localtime(time.time()) print (Current time is, currenttime)>
48. Was sind Zugriffsspezifizierer in Python?
Python verwendet das Symbol „_“, um die Zugriffskontrolle für ein bestimmtes Datenelement oder eine Elementfunktion einer Klasse zu bestimmen. Eine Klasse in Python hat drei Arten von Python-Zugriffsmodifikatoren :
- Modifikator für öffentlichen Zugriff: Die als öffentlich deklarierten Mitglieder einer Klasse sind von jedem Teil des Programms aus leicht zugänglich. Alle Datenelemente und Elementfunktionen einer Klasse sind standardmäßig öffentlich.
- Modifikator für geschützten Zugriff: Auf die als geschützt deklarierten Mitglieder einer Klasse kann nur eine davon abgeleitete Klasse zugreifen. Alle Datenelemente einer Klasse werden als geschützt deklariert, indem vor den Datenelementen dieser Klasse ein einzelner Unterstrich „_“ hinzugefügt wird.
- Privater Zugriffsmodifikator: Auf die als privat deklarierten Mitglieder einer Klasse kann nur innerhalb der Klasse zugegriffen werden. Der private Zugriffsmodifikator ist der sicherste Zugriffsmodifikator. Datenelemente einer Klasse werden als privat deklariert, indem vor dem Datenelement dieser Klasse ein doppelter Unterstrich „__“ hinzugefügt wird.
49. Was sind Unit-Tests in Python?
Unit Testing ist die erste Stufe des Softwaretests, bei der die kleinsten testbaren Teile der Software getestet werden. Dies wird verwendet, um zu überprüfen, ob jede Einheit der Software wie vorgesehen funktioniert. Das Unit-Test-Framework ist Pythons xUnit-Style-Framework. Für Unit-Tests wird die White-Box-Testmethode verwendet.
50. Python Global Interpreter Lock (GIL)?
Python Global Interpreter Lock (GIL) ist eine Art Prozesssperre, die von Python immer dann verwendet wird, wenn es sich um Prozesse handelt. Im Allgemeinen verwendet Python nur einen Thread, um den Satz geschriebener Anweisungen auszuführen. Die Leistung des Single-Thread-Prozesses und des Multi-Thread-Prozesses ist in Python gleich, und das liegt an GIL in Python. Wir können in Python kein Multithreading erreichen, da wir über eine globale Interpretersperre verfügen, die die Threads einschränkt und als einzelner Thread funktioniert.
51. Was sind Funktionsanmerkungen in Python?
Funktionsanmerkung ist eine Funktion, mit der Sie Metadaten zu Funktionsparametern und Rückgabewerten hinzufügen können. Auf diese Weise können Sie den Eingabetyp der Funktionsparameter und den Rückgabetyp des von der Funktion zurückgegebenen Werts festlegen.
Funktionsanmerkungen sind beliebige Python-Ausdrücke, die verschiedenen Teilen von Funktionen zugeordnet sind. Diese Ausdrücke werden zur Kompilierungszeit ausgewertet und haben in der Laufzeitumgebung von Python kein Leben. Python misst diesen Anmerkungen keine Bedeutung bei. Sie nehmen Leben in Anspruch, wenn sie von Bibliotheken Dritter, zum Beispiel mypy, interpretiert werden.
52. Was sind Ausnahmegruppen in Python?
Die neueste Funktion von Python 3.11, Ausnahmegruppen . Die ExceptionGroup kann mit einer neuen Except*-Syntax behandelt werden. Das *-Symbol gibt an, dass mehrere Ausnahmen von jeder Except*-Klausel behandelt werden können.
ExceptionGroup ist eine Sammlung/Gruppe verschiedener Arten von Ausnahmen. Ohne mehrere Ausnahmen zu erstellen, können wir verschiedene Ausnahmen gruppieren, die wir später bei Bedarf einzeln abrufen können. Die Reihenfolge, in der die Ausnahmen in der Ausnahmegruppe gespeichert sind, spielt beim Aufruf keine Rolle.
Python3 try: raise ExceptionGroup('Example ExceptionGroup', ( TypeError('Example TypeError'), ValueError('Example ValueError'), KeyError('Example KeyError'), AttributeError('Example AttributeError') )) except* TypeError: ... except* ValueError as e: ... except* (KeyError, AttributeError) as e: ...> 53. Was ist die Python-Switch-Anweisung?
Ab Version 3.10 hat Python eine Switch-Case-Funktion namens „Struktureller Mustervergleich“ implementiert. Sie können diese Funktion mit den Schlüsselwörtern „Match“ und „Case“ implementieren. Beachten Sie, dass Sie das Unterstrichsymbol verwenden, um einen Standardfall für die switch-Anweisung in Python zu definieren.
Notiz : Vor Python 3.10 unterstützt Python keine match-Anweisungen.
Python3 match term: case pattern-1: action-1 case pattern-2: action-2 case pattern-3: action-3 case _: action-default>
54. Was ist Walrus Operator?
Der Walross-Operator ermöglicht es Ihnen, einer Variablen innerhalb eines Ausdrucks einen Wert zuzuweisen. Dies kann nützlich sein, wenn Sie einen Wert mehrmals in einer Schleife verwenden müssen, die Berechnung aber nicht wiederholen möchten.
Der Walross-Operator wird durch die Syntax „:=“ dargestellt und kann in verschiedenen Kontexten verwendet werden, einschließlich while-Schleifen und if-Anweisungen.
np.sum
Notiz: Python-Versionen vor 3.8 unterstützen Walrus Operator nicht.
Python3 names = ['Jacob', 'Joe', 'Jim'] if (name := input('Enter a name: ')) in names: print(f'Hello, {name}!') else: print('Name not found.')>