Maison > Article > développement back-end > Quelles sont les questions les plus fréquemment posées lors des entretiens Python ?
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 ?
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
Fonction : économisez beaucoup de mémoire
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
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 lambdaCas
:frame.applymap(lambda x: '%.2f' % x) frame.apply(lambda x: x.max() - x.min())
7. des cours ? Connaissez-vous l'héritage ? Veuillez écrire un exemple utilisant l'héritage.
répéter Écrire : les noms des méthodes sont les mêmes et les méthodes sont réécrites
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使用生成器优化内存
循环的优化:多个if elif条件判断,可以把最有可能先发生的条件放到前面写,这样可以减少程序判断的次数,提高效率
优化算法时间:算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1)
继承:指通过获取父对象的属性和能力,再加上自定义的属性和能力而成为一个对象的子对象或一个类的子类。
重写:方法名取一样,方法重写
浅拷贝,改变原始对象中为可变类型的元素的值,会同时影响拷贝对象;改变原始对象中为不可变类型的元素的值,不会响拷贝对象。
深拷贝,除了顶层拷贝,还对子元素也进行了拷贝。经过深拷贝后,原始对象和拷贝对象所有的可变元素地址都没有相同的了
os模块
:提供了不少与操作系统相关联的函数.
sys模块
:通用工具脚本经常调用命令行参数.
re模块
:为高级字符串处理提供了正则表达式工具。对于复杂的匹配和处理,正则表达式提供了简洁、优化的解决方案:
random模块
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 python10. (Sachez-le)
module xml
: un module pour localiser les balises html dans les robots d'exploration python
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!