Maison  >  Article  >  développement back-end  >  Quelles sont les questions les plus fréquemment posées lors des entretiens Python ?

Quelles sont les questions les plus fréquemment posées lors des entretiens Python ?

WBOY
WBOYavant
2023-05-13 09:34:051251parcourir

Python Questions d'entrevue de base

1. 2. Quelle est la différence entre les listes et les tuples en Python ? Les tuples sont-ils vraiment immuables ?

  • List : list est un type mutable et les données peuvent changer dynamiquement

  • Tuple : est un type immuable avec une taille fixe

  • 3. Que sont les générateurs et les itérateurs ? Quelle est la différence entre eux ?

  • Itérateur

  • Rôle : Simplifier le code de boucle et économiser de la mémoire
  • C'est un objet qui peut mémoriser la position parcourue. L'objet itérateur commence à accéder à partir du premier élément de la collection jusqu'à ce que tous les éléments aient été accédés. Les itérateurs ne peuvent qu'avancer et non reculer

  • Les itérateurs ont deux méthodes de base : iter() et next().
  • Générateur
  • Fonction : économisez beaucoup de mémoire

  • La fonction qui utilise le rendement est appelée un générateur. Un générateur est une fonction qui renvoie un itérateur et ne peut être utilisée que pour des opérations itératives. est un itérateur
  • Principe : pendant le processus d'appel du générateur, chaque fois qu'il rencontre un rendement, la fonction fera une pause et enregistrera toutes les informations en cours d'exécution, renverra la valeur de rendement et repartira de la position actuelle la prochaine fois ( ) est exécutée. Continuez à fonctionner

  • 4. Que sont les décorateurs ? Que fait le décorateur ? Avez-vous déjà fait appel à des décorateurs ? Veuillez écrire un exemple de décorateur

Une fermeture fait référence à un objet en Python qui regroupe les langages qui composent une fonction et les environnements d'exécution de ces langages

    Un décorateur est un moyen simple d'ajouter des fonctionnalités à une fonction ou une classe. Vous pouvez rapidement insérer la même fonctionnalité dans différentes fonctions ou classes. Syntaxe : "@decorator name" est ajouté avant la fonction Exemple :
  • 5. Quels sont les avantages de l'utilisation de fonctions anonymes ?

  • Fonction anonyme
 : Une fonction créée à l'aide de lambda. La fonction dite anonyme signifie qu'une fonction n'est plus définie sous une forme standard telle qu'une instruction def.

Avantages :

1. Lorsque vous utilisez Python pour écrire des scripts d'exécution, l'utilisation de lambda peut enregistrer le processus de définition des fonctions et rationaliser le code.

2. Pour certaines fonctions abstraites qui ne seront pas réutilisées ailleurs, il est parfois difficile de nommer la fonction. L'utilisation de lambda ne nécessite pas de prendre en compte les problèmes de nommage.

3. L'utilisation de lambda rend parfois le code plus facile à comprendre.

Scénarios d'application : souvent utilisé en combinaison avec certaines fonctions intégrées, telles que map(), filter(), sorted(), réduire(), etc.

Format d'expression

 : Liste des paramètres lambda : corps lambda

Cas

 :

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

6 Comment améliorer l'efficacité opérationnelle de Python

Utiliser des générateurs pour optimiser la mémoire

Optimisation de boucle : condition if elif multiple. jugements, Vous pouvez écrire les conditions les plus susceptibles de se produire en premier, ce qui peut réduire le nombre de jugements du programme et améliorer l'efficacité. Optimiser le temps de l'algorithme : La complexité temporelle de l'algorithme a le plus grand impact sur l'efficacité d'exécution du programme. Python, vous pouvez choisir les structures de données appropriées pour optimiser la complexité temporelle. Par exemple, la complexité temporelle de la recherche d'un certain élément dans la liste et l'ensemble est respectivement O(n) et O(1)

Quelles sont les questions les plus fréquemment posées lors des entretiens Python ?7. des cours ? Connaissez-vous l'héritage ? Veuillez écrire un exemple utilisant l'héritage.

Héritage : fait référence au fait de devenir un objet enfant d'un objet ou une sous-classe d'une classe en obtenant les propriétés et les capacités de l'objet parent, ainsi que les propriétés et capacités personnalisées.

Quelles sont les questions les plus fréquemment posées lors des entretiens Pythonrépéter Écrire : les noms des méthodes sont les mêmes et les méthodes sont réécrites

Le plus souvent questions posées dans les entretiens Python Quels sont les problèmes ?8. Copie profonde et copie superficielle

Copie superficielle, la modification de la valeur de l'élément de type variable dans l'objet d'origine affectera également l'objet copié ; la modification de type immuable dans l'objet d'origine La valeur de l'élément n'affectera pas l'objet copié.

La copie approfondie, en plus de la copie de niveau supérieur, copie également les sous-éléments. Après une copie approfondie, toutes les adresses d'éléments variables de l'objet d'origine et de l'objet copié ne sont plus les mêmesmap()、filter()、sorted()、reduce()

表达式格式lambda 参数列表: lambda体

案例

rrreee

6、如何提高 Python 的运行效率吗

使用生成器优化内存

循环的优化:多个if elif条件判断,可以把最有可能先发生的条件放到前面写,这样可以减少程序判断的次数,提高效率

优化算法时间:算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1)

7、用过类吗?知道继承吗?请写一个例子,用到继承。

继承:指通过获取父对象的属性和能力,再加上自定义的属性和能力而成为一个对象的子对象或一个类的子类。

Quelles sont les questions les plus fréquemment posées lors des entretiens Python ?

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

Quelles sont les questions les plus fréquemment posées lors des entretiens Python ?

8、深拷贝和浅拷贝

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

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

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

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

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

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

random模块

9. Lesquels des 8 modules couramment utilisés sont répertoriés ? 🎜🎜os module : fournit de nombreuses fonctions liées au système d'exploitation. 🎜🎜sys module : les scripts d'outils courants appellent souvent des paramètres de ligne de commande.🎜🎜 re module : fournit des outils d'expression régulière pour le traitement avancé des chaînes. Pour les correspondances et les traitements complexes, les expressions régulières offrent une solution concise et optimisée : 🎜🎜<code>module aléatoire : fournit des outils pour générer des nombres aléatoires. 🎜

module json : fournit des méthodes permettant à Python d'analyser les données json et de les convertir vers et depuis les formats pythonjson模块:提供Python解析json数据的方法,和python格式相互转化的方法

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

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

xml模块

time module : un module pour le traitement du temps en python

module de journalisation : un module pour le traitement des journaux en python

module xml : un module pour localiser les balises html dans les robots d'exploration python

10. (Sachez-le)

Python adopte un mécanisme de comptage de références comme stratégie principale, et les deux mécanismes de collecte claire et générationnelle (recyclage intergénérationnel, recyclage générationnel) sont des stratégies supplémentaires

Mécanisme de comptage

 : Python Le Le module GC utilise principalement le comptage de références pour suivre et collecter les déchets. Sur la base du comptage de références, « mark-clear » peut également être utilisé pour résoudre le problème des références circulaires pouvant survenir dans les objets conteneurs. Améliorez encore l'efficacité de la collecte des déchets en échangeant de l'espace contre du temps grâce à la collecte générationnelle.

Mark-Clear

 : L'apparition de mark-clear brise la référence circulaire, c'est-à-dire qu'elle se concentre uniquement sur les objets susceptibles de générer des références circulaires. Inconvénients : Les opérations supplémentaires provoquées par ce mécanisme sont proportionnelles aux blocs de mémoire. qu'il faut recycler. 🎜🎜🎜Recyclage séparé par génération🎜 Principe : Tous les blocs de mémoire du système sont divisés en différentes collections en fonction de leur temps de survie. Chaque collecte devient une « génération ». La fréquence de collecte des déchets augmente avec la durée de survie de la « génération ». .grand et réduit. En d’autres termes, plus un objet dure longtemps, moins il est susceptible d’être un déchet et la fréquence de collecte des déchets doit être réduite. Alors, comment mesurer ce temps de survie : il est généralement mesuré par plusieurs actions de garbage collection. Si un objet a subi davantage de garbage collection, on peut conclure que l'objet a un temps de survie plus long. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer