Heim  >  Artikel  >  Backend-Entwicklung  >  Was sind die am häufigsten gestellten Fragen in Python-Interviews?

Was sind die am häufigsten gestellten Fragen in Python-Interviews?

WBOY
WBOYnach vorne
2023-05-13 09:34:051251Durchsuche

Python-Grundfragen für Interviews

1. Was sind die Python-Datenstrukturen?

2. Was ist der Unterschied zwischen Listen und Tupeln in Python? Sind Tupel wirklich unveränderlich?
  • Liste: Liste ist ein veränderlicher Typ und die Daten können sich dynamisch ändern
  • Tupel: ist ein unveränderlicher Typ mit fester Größe
  • 3 Was sind Generatoren und Iteratoren? Was ist der Unterschied zwischen ihnen?
  • Iterator

  • Rolle: Schleifencode vereinfachen und Speicher sparen

    Es ist ein Objekt, das sich die durchlaufene Position merken kann. Das Iteratorobjekt beginnt mit dem Zugriff vom ersten Element der Sammlung, bis auf alle Elemente zugegriffen wurde. Iteratoren können nur vorwärts und nicht rückwärts gehen
  • Iteratoren haben zwei grundlegende Methoden: iter() und next().

  • Generator
  • Funktion: Sparen Sie viel Speicher
  • Die Funktion, die Yield verwendet, wird als Generator bezeichnet und kann nur für iterative Operationen verwendet werden ist ein Iterator

    Prinzip: Während des Aufrufs des Generators hält die Funktion jedes Mal, wenn sie auf Yield trifft, an und speichert alle aktuellen Laufinformationen, gibt den Wert von Yield zurück und startet beim nächsten Mal an der aktuellen Position ( )-Methode wird ausgeführt. Weiterlaufen
4. Was sind Dekorateure? Was macht ein Dekorateur? Haben Sie jemals Dekorateure verwendet? Bitte schreiben Sie ein Beispiel für einen Dekorator. Ein Abschluss bezieht sich auf ein Objekt in Python, das die Sprachen, aus denen eine Funktion besteht, und die Ausführungsumgebungen dieser Sprachen zusammenfasst. Ein Dekorator ist eine einfache Möglichkeit, Funktionen hinzuzufügen Eine Funktion oder Klasse. Sie können die gleiche Funktionalität schnell in verschiedene Funktionen oder Klassen einfügen. Syntax: „@decorator name“ wird vor der Funktion hinzugefügt. Beispiel:

  • 5 Was sind die Vorteile der Verwendung anonymer Funktionen?

  • Anonyme Funktion

    : Eine mit Lambda erstellte Funktion. Die sogenannte anonyme Funktion bedeutet, dass eine Funktion nicht mehr in einer Standardform wie einer Def-Anweisung definiert ist.

Vorteile

:

1. Wenn Sie Python zum Schreiben einiger Ausführungsskripte verwenden, kann die Verwendung von Lambda den Prozess der Funktionsdefinition einsparen und den Code rationalisieren. 2. Bei einigen abstrakten Funktionen, die nicht an anderer Stelle wiederverwendet werden, ist es manchmal schwierig, die Funktion zu benennen. Bei der Verwendung von Lambda sind keine Namensprobleme erforderlich.

3. Die Verwendung von Lambda erleichtert manchmal das Verständnis des Codes.

Anwendungsszenarien

: Wird häufig in Kombination mit einigen integrierten Funktionen verwendet, z. B. map(), filter(), sorted(), Reduce() usw.

Ausdrucksformat : Lambda-Parameterliste: Lambda-Körper

Fall

:

frame.applymap(lambda x: '%.2f' % x)
frame.apply(lambda x: x.max() - x.min())

6. So verbessern Sie die Betriebseffizienz von Python

Verwenden Sie Generatoren, um den Speicher zu optimieren

Schleifenoptimierung: mehrere if elif-Bedingungen Beurteilungen: Sie können die Bedingungen schreiben, die am wahrscheinlichsten auftreten, was die Anzahl der Programmbeurteilungen reduzieren und die Effizienz des Algorithmus verbessern kann: Die zeitliche Komplexität des Algorithmus hat den größten Einfluss auf die Ausführungseffizienz des Programms Mit Python können Sie die entsprechenden Datenstrukturen auswählen, um die Zeitkomplexität zu optimieren. Die Zeitkomplexität für die Suche nach einem bestimmten Element in einer Liste und einer Menge beträgt beispielsweise O(n) bzw. O(1)

7 Klassen? Kennen Sie sich mit Erbschaft aus? Bitte schreiben Sie ein Beispiel mit Vererbung.

Vererbung: bezieht sich darauf, ein untergeordnetes Objekt eines Objekts oder einer Unterklasse einer Klasse zu werden, indem die Eigenschaften und Fähigkeiten des übergeordneten Objekts sowie benutzerdefinierte Eigenschaften und Fähigkeiten erhalten werden. Was sind die am häufigsten gestellten Fragen in Python-Interviews?

Was sind die am häufigsten gestellten Fragen in Python-Interviews

Wiederholen Schreiben: Die Methodennamen sind gleich und die Methoden werden neu geschrieben

Am häufigsten gestellte Fragen in Python-Interviews Was sind die Probleme? unveränderlicher Typ im Originalobjekt. Der Wert des Elements hat keinen Einfluss auf das kopierte Objekt. </strong></p><p><strong>Deep Copy kopiert zusätzlich zur obersten Ebene auch die Unterelemente. Nach dem Tiefenkopieren sind alle variablen Elementadressen des Originalobjekts und des kopierten Objekts nicht mehr gleich </strong></p><p></p>9 Welche der 8 häufig verwendeten Module sind aufgeführt? <p></p><code>os module</code>: Bietet viele Funktionen im Zusammenhang mit dem Betriebssystem <p></p><code>sys module</code>: Gängige Tool-Skripte rufen häufig Befehlszeilenparameter auf.<p><strong><code>re module< /code>: Stellt reguläre Ausdruckstools für die erweiterte Zeichenfolgenverarbeitung bereit. Für den komplexen Abgleich und die Verarbeitung bieten reguläre Ausdrücke eine prägnante und optimierte Lösung: </strong><code>map()、filter()、sorted()、reduce()</code>等</p><p><strong>表达式格式</strong>:<code>lambda 参数列表: lambda体</code></p><p><strong>案例</strong>:</p>rrreee<h4>6、如何提高 Python 的运行效率吗</h4><p>使用生成器优化内存</p><p>循环的优化:多个if elif条件判断,可以把最有可能先发生的条件放到前面写,这样可以减少程序判断的次数,提高效率</p><p>优化算法时间:算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1)</p><h4>7、用过类吗?知道继承吗?请写一个例子,用到继承。</h4><p>继承:指通过获取父对象的属性和能力,再加上自定义的属性和能力而成为一个对象的子对象或一个类的子类。</p><p><img src=

重写:方法名取一样,方法重写

Was sind die am häufigsten gestellten Fragen in Python-Interviews?

8、深拷贝和浅拷贝

  • 浅拷贝,改变原始对象中为可变类型的元素的值,会同时影响拷贝对象;改变原始对象中为不可变类型的元素的值,不会响拷贝对象。

  • 深拷贝,除了顶层拷贝,还对子元素也进行了拷贝。经过深拷贝后,原始对象和拷贝对象所有的可变元素地址都没有相同的了

9、列举8个常用模块都有那些?

os模块:提供了不少与操作系统相关联的函数.

sys模块:通用工具脚本经常调用命令行参数.

re模块:为高级字符串处理提供了正则表达式工具。对于复杂的匹配和处理,正则表达式提供了简洁、优化的解决方案:

random模块random module: Bietet Tools zum Generieren von Zufallszahlen.

json module: Stellt Methoden für Python bereit, um JSON-Daten zu analysieren und in und aus Python-Formaten zu konvertierenjson模块:提供Python解析json数据的方法,和python格式相互转化的方法

time模块:python中用于处理时间的模块

logging模块:python中关于日志处理的模块

xml模块

time module: Ein Modul zur Verarbeitungszeit in Python

Protokollierungsmodul: ein Modul für die Protokollverarbeitung in Python

xml-Modul: ein Modul zum Auffinden von HTML-Tags in Python-Crawlern

10. (Wissen Sie es einfach)

Python verwendet einen Referenzzählmechanismus als Hauptstrategie, und die beiden Mechanismen des Mark-Clear- und Generationssammelns (intergenerationelles Recycling, generationsübergreifendes Recycling) sind ergänzende Strategien

Zählmechanismus

: Python The Das GC-Modul verwendet hauptsächlich die Referenzzählung, um Müll zu verfolgen und zu sammeln. Auf der Grundlage der Referenzzählung kann „Mark-Clear“ auch zur Lösung des Problems von Zirkelverweisen verwendet werden, die in Containerobjekten auftreten können. Verbessern Sie die Effizienz der Müllsammlung weiter, indem Sie durch Generationensammlung Platz gegen Zeit tauschen.

Mark-Clear

: Das Erscheinen von „Mark-Clear“ unterbricht den Zirkelverweis, das heißt, es konzentriert sich nur auf die Objekte, die möglicherweise Zirkelverweise erzeugen. Nachteile: Die durch diesen Mechanismus verursachten zusätzlichen Operationen sind proportional zu den Speicherblöcken die recycelt werden müssen. 🎜🎜🎜Generationengetrenntes Recycling🎜 Prinzip: Alle Speicherblöcke im System werden entsprechend ihrer Überlebenszeit in verschiedene Sammlungen unterteilt. Die Häufigkeit der Müllsammlung nimmt mit der Überlebenszeit der „Generation“ zu. . groß und reduziert. Mit anderen Worten: Je länger ein Objekt lebt, desto geringer ist die Wahrscheinlichkeit, dass es sich um Müll handelt, und die Häufigkeit der Müllsammlung sollte verringert werden. So messen Sie diese Überlebenszeit: Sie wird normalerweise durch mehrere Garbage-Collection-Aktionen gemessen. Wenn ein Objekt mehrere Garbage-Collections durchlaufen hat, kann daraus geschlossen werden, dass das Objekt eine längere Überlebenszeit hat. 🎜

Das obige ist der detaillierte Inhalt vonWas sind die am häufigsten gestellten Fragen in Python-Interviews?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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