Cet article résume pour vous 50 questions et réponses d'entretien Python. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Python est actuellement le langage le plus populaire dans le domaine de la programmation. Dans cet article, je résumerai les 50 questions d'entretien Python les plus courantes. Des réponses de référence sont fournies pour chaque question, dans l'espoir de vous aider à vous démarquer lors de l'entretien d'embauche en 2019 et à trouver un emploi bien rémunéré. Ces questions d'entretien couvrent de nombreux aspects tels que les bases de Python, la programmation Python, l'analyse des données et les bibliothèques de fonctions Python.
Q1. Quelle est la différence entre les listes et les tuples en Python ?
Q2. Quelles sont les principales fonctions de Python ?
Python est un langage interprété. Contrairement aux langages tels que C, Python ne nécessite pas de compilation avant de s'exécuter.
Python est un langage dynamique, lorsque vous déclarez une variable ou similaire, vous n'avez pas besoin de déclarer le type de la variable.
Python convient à la programmation orientée objet car il permet la définition de classes ainsi que la composition et l'héritage. Python n'a pas de spécifications d'accès (comme celles publiques et privées de C++).
En Python, les fonctions sont des objets de première classe. Ils peuvent être affectés à des variables. Les classes sont également des objets de première classe
L'écriture de code Python est rapide, mais son exécution est plus lente. Python autorise les extensions basées sur C telles que la bibliothèque de fonctions numpy.
Python peut être utilisé dans de nombreux domaines. Développement d'applications Web, automatisation, modélisation mathématique, applications Big Data et bien plus encore. Il est également souvent utilisé comme code « colle ».
Q3. Python est-il un langage de programmation à usage général ?
Python est capable d'écrire des scripts, mais dans un sens général, il est considéré comme un langage de programmation à usage général.
Q4. Comment Python interprète-t-il le langage ?
Python n'a pas besoin d'interpréter le programme avant de l'exécuter. Python est donc un langage interprété.
Q5. Qu'est-ce que le peps ?
PEP signifie Python Enhancement Proposal. Il s'agit d'un ensemble de règles qui précisent comment formater le code Python pour une lisibilité maximale.
Q6. Comment gérer la mémoire en Python ?
La gestion de la mémoire en python est gérée par l'espace de tas privé Python. Tous les objets et structures de données Python se trouvent dans le tas privé. Le programmeur n'a pas accès à ce tas privé. L'interpréteur Python s'en charge.
L'allocation d'espace de tas pour les objets Python est effectuée par le gestionnaire de mémoire de Python. L'API principale fournit des outils permettant aux programmeurs d'écrire du code.
Python dispose également d'un garbage collector intégré qui récupère toute la mémoire inutilisée et la rend disponible pour l'espace de tas.
Q7. Qu'est-ce que l'espace de noms en Python ?
Namespace est un système de dénomination utilisé pour garantir que les noms sont uniques afin d'éviter les conflits de noms.
Q8. Qu'est-ce que PYTHONPATH ?
C'est une variable d'environnement utilisée lors de l'importation de modules. Chaque fois qu'un module est importé, PYTHONPATH est également recherché pour vérifier si le module importé existe dans les répertoires respectifs. Ceci est utilisé par l'interpréteur pour déterminer les modules à charger.
Q9. Qu'est-ce qu'un module python ? Quels sont les modules intégrés couramment utilisés en Python ?
Les modules Python sont des fichiers .py contenant du code Python. Ce code peut être une classe de fonctions ou une variable. Certains modules intégrés couramment utilisés incluent : sys, math, random, data time, JSON.
Q10. Que sont les variables locales et les variables globales en Python ?
Variables globales : Les variables déclarées en dehors d'une fonction ou dans l'espace global sont appelées variables globales. Ces variables sont accessibles par n'importe quelle fonction du programme.
Variables locales : toute variable déclarée dans une fonction est appelée variable locale. Cette variable existe dans l'espace local et non dans l'espace global.
Q11. Python est-il sensible à la casse ?
Oui. Python est un langage sensible à la casse.
Q12. Qu'est-ce que la conversion de type en Python ?
La conversion de type fait référence à la conversion d'un type de données en un autre type de données.
int() - Convertit n'importe quel type de données en type entier
float() - Convertit n'importe quel type de données en type flottant
ord() - Convertit un caractère en entier
hex() - Convertit un entier en dizaines Hex
oct () - Convertit un entier en octal
tuple() - Cette fonction est utilisée pour convertir en tuple.
set() - Cette fonction renvoie le type après conversion à définir.
list() - Cette fonction est utilisée pour convertir n'importe quel type de données en type de liste.
dict() - Cette fonction est utilisée pour convertir un tuple séquentiel (clé, valeur) en dictionnaire.
str() - utilisé pour convertir un entier en chaîne.
complexe (réel, image) - Cette fonction convertit un nombre réel en un nombre complexe (réel, image).
Q13. Comment installer Python sur Windows et définir les variables de chemin ?
Pour installer Python sur Windows, veuillez suivre ces étapes :
Installez Python à partir du lien suivant : https://http://www.python.org/downloads/
Après le téléchargement, installez-le sur votre PC. Recherchez où PYTHON est installé sur votre PC à l'aide de la commande suivante à l'invite de commande : cmd python.
Ensuite, allez dans Paramètres système avancés, ajoutez une nouvelle variable, nommez-la PYTHON_NAME et collez le chemin copié.
Recherchez la variable de chemin, sélectionnez sa valeur et choisissez Modifier.
Si la valeur n'existe pas, ajoutez un point-virgule à la fin de la valeur et tapez %PYTHON_HOME%
Q14 L'indentation est-elle requise en python ?
L'indentation est requise pour Python. Il spécifie un bloc de code. Tout le code dans les boucles, classes, fonctions, etc. est spécifié dans des blocs indentés. Cela se fait généralement à l'aide de quatre caractères d'espacement. Si votre code n'est pas indenté comme nécessaire, il ne s'exécutera pas correctement et générera également une erreur.
Q15. Quelle est la différence entre les tableaux et les listes Python ?
Les tableaux et les listes en Python ont la même manière de stocker les données. Cependant, un tableau ne peut contenir qu’un seul élément de type de données, alors qu’une liste peut contenir n’importe quel élément de type de données.
Q16. Que sont les fonctions en Python ?
Une fonction est un bloc de code qui ne s'exécute que lorsqu'il est appelé. Pour définir une fonction en Python, vous devez utiliser le mot-clé def.
Q17. Qu'est-ce que __init__ ?
__init__ est une méthode ou une structure en Python. Cette méthode est automatiquement appelée pour allouer de la mémoire lorsqu'un nouvel objet/instance de la classe est créé. Toutes les classes ont la méthode __init__.
Q18. Qu'est-ce que la fonction lambda ?
La fonction lambda est également appelée fonction anonyme. La fonction peut contenir n'importe quel nombre de paramètres, mais ne peut avoir qu'une seule instruction pour effectuer l'opération.
Q19. Qu'est-ce que le soi en Python ?
self est une instance ou un objet d'une classe. En Python, self est inclus dans le premier paramètre. Cependant, ce n’est pas le cas en Java, c’est facultatif. Cela permet de différencier les méthodes et les propriétés d’une classe comportant des variables locales. La variable self dans la méthode init fait référence à l'objet nouvellement créé, tandis que dans d'autres méthodes, elle fait référence à l'objet dont la méthode est appelée.
Q20. Faire la différence entre pause, continuer et passer ?
Q21. Que signifie [:: - 1} ?
[:: - 1] est utilisé pour inverser l'ordre d'un tableau ou d'une séquence.
Q22. Comment randomiser des éléments dans une liste en Python ?
Vous pouvez utiliser la fonction shuffle pour randomiser les éléments de la liste. Un exemple est le suivant :
La sortie du code est :
Q23.
Les itérateurs sont des objets qui peuvent être parcourus ou itérés.
Q24. Comment générer des nombres aléatoires en Python ?
le module aléatoire est un module standard pour générer des nombres aléatoires. La méthode est définie comme : La méthode
random.random() renvoie un nombre à virgule flottante dans la plage [0,1]. Cette fonction génère des nombres aléatoires à virgule flottante. La méthode utilisée par la classe aléatoire est la méthode de liaison de l'instance cachée. Vous pouvez utiliser des instances de Random pour afficher des programmes multithread qui créent différentes instances de thread. Les autres générateurs aléatoires utilisés sont :
randrange(a,b) : il sélectionne un entier et définit la plage entre [a,b]. Il renvoie des éléments en sélectionnant aléatoirement des éléments dans la plage spécifiée. Il ne crée pas d'objets de portée.
uniform(a,b) : il sélectionne un nombre à virgule flottante défini dans la plage [a,b)
normalvariate(mean,sdev) : il est utilisé pour la distribution normale, où moyenne est la moyenne et sdev est utilisé pour sigma de l’écart type.
Créez un générateur de nombres aléatoires multiples indépendant en utilisant et en instanciant la classe Random.
Q25. Quelle est la différence entre range et xrange ?
Dans la plupart des cas, xrange et range sont fonctionnellement identiques. Ils fournissent tous deux un moyen de générer une liste d'entiers, la seule différence est que range renvoie un objet liste Python et xrange renvoie un objet xrange. Cela signifie que xrange ne génère pas réellement de liste statique au moment de l'exécution. Il crée des valeurs selon les besoins à l'aide d'une technique spéciale appelée rendement. Cette technique fonctionne avec un objet appelé générateur. Donc, si vous avez une très grande liste, pensez à xrange.
Q26. Comment rédiger des commentaires en python ?
Les commentaires en Python commencent par le caractère #. Les commentaires peuvent également être faits à l'aide de doc-strings (chaînes entourées de guillemets triples).
Q27. Que sont le décapage et le décapage ?
Le module Pickle accepte n'importe quel objet Python, le convertit en une représentation sous forme de chaîne et le transfère dans un fichier à l'aide de la fonction dump, ce processus est appelé pickling. Le processus de récupération des objets Python originaux à partir des chaînes stockées est appelé dépickling.
Q28. Qu'est-ce qu'un générateur en python ?
Une fonction qui renvoie un ensemble itérable d'éléments est appelée un générateur.
Q29. Comment mettre en majuscule la première lettre d'une chaîne ?
En Python, la fonction capitalize() peut mettre en majuscule la première lettre d'une chaîne. Si la chaîne contient déjà des lettres majuscules au début, elle renverra la chaîne d'origine.
Q30. Comment convertir une chaîne en minuscules ?
Pour convertir une chaîne en minuscules, vous pouvez utiliser la fonction lower().
Q31. Comment commenter plusieurs lignes en python ?
Lorsque vous commentez plusieurs lignes de code. Toutes les lignes à commenter doivent être précédées de #. Vous pouvez également utiliser le raccourci pour commenter plusieurs lignes en maintenant la touche Ctrl enfoncée, en cliquant avec le bouton gauche et en tapant # une fois à chaque endroit où vous souhaitez inclure un caractère #.
Q32. Que sont les Docstrings de documents en Python ?
Les Docstrings ne sont pas réellement des commentaires, ce sont des docstrings. Ces docstrings sont entourés de guillemets triples. Ils ne sont affectés à aucune variable et sont donc parfois utilisés dans les commentaires.
Q33. Quelles sont les fonctions des opérateurs is, not et in in ?
Les opérateurs sont des fonctions spéciales qui comparent une ou plusieurs valeurs et produisent les résultats correspondants. où is : renvoie vrai lorsque 2 opérandes sont vrais (exemple : "a" est 'a')
not : renvoie l'inverse d'une valeur booléenne
in : vérifie si un élément existe dans une séquence
Q34. sont les utilisations des fonctions help() et dir() en Python ?
Les fonctions Help() et dir() sont accessibles directement depuis l'interpréteur Python et utilisées pour afficher les dumps fusionnés des fonctions intégrées.
Fonction help() : La fonction help() est utilisée pour afficher les chaînes de documentation et également afficher les informations d'utilisation liées aux modules, mots-clés, propriétés, etc.
Fonction dir() : La fonction dir() permet d'afficher le symbole défini.
Q35. Lorsque Python se ferme, pourquoi n'efface-t-il pas toute la mémoire allouée ?
Lorsque Python se termine, en particulier les modules Python qui ont des références circulaires à d'autres objets ou des objets référencés à partir de l'espace de noms global ne sont ni libérés ni libérés.
Il n'y a aucun moyen de désallouer les portions de mémoire réservées par la bibliothèque C.
En quittant, Python essaiera de désallouer/détruire tous les autres objets grâce à son propre mécanisme de nettoyage efficace.
Q36. Qu'est-ce qu'un dictionnaire en Python ?
Le type de données intégré à Python est appelé dictionnaire. Il définit une relation biunivoque entre les clés et les valeurs. Un dictionnaire contient une paire de clés et leurs valeurs correspondantes. Les dictionnaires sont indexés par clés.
Q37. Comment utiliser l'opérateur ternaire en python ?
L'opérateur ternaire est un opérateur utilisé pour afficher des instructions conditionnelles. Celui-ci contient une valeur vraie ou fausse et pour laquelle l'instruction doit être évaluée. Sa syntaxe de base est la suivante :
L'opérateur ternaire est un opérateur utilisé pour afficher des instructions conditionnelles. Celui-ci contient une valeur vraie ou fausse et pour laquelle l'instruction doit être évaluée. La syntaxe de base est :
[on_true] if [expression] else [on_false] x, y = 25, 50big = x if x
Q38 Pourquoi utiliser *args, **kwargs ?
Nous utilisons *args lorsque nous ne sommes pas sûrs du nombre d'arguments à transmettre à la fonction, ou lorsque nous voulons transmettre une liste stockée ou un tuple d'arguments à la fonction. ** Les Kwargs sont utilisés lorsque nous ne savons pas combien d'arguments de mot-clé transmettre à une fonction, ou ils peuvent être utilisés pour transmettre les valeurs d'un dictionnaire comme arguments de mot-clé. Les identifiants args et kwargs sont une convention, vous pouvez également utiliser *bob et **billy.
Q39. Quelle est la fonction de la fonction len() ? La fonction
len() peut être utilisée pour déterminer la longueur des chaînes, des listes, des tableaux, etc.
Q40. Fonctions Split(), sub(), subn() en Python.
Si vous souhaitez modifier une chaîne, le module "re" de Python propose 3 méthodes. Ce sont :
split() - "Diviser" la chaîne donnée en une liste en utilisant un modèle d'expression régulière.
sub() - Recherche toutes les sous-chaînes correspondant à un modèle d'expression régulière et les remplace par des chaînes différentes
subn() - C'est similaire à sub() et renvoie également la nouvelle chaîne.
Q41. Qu'est-ce qu'un indice négatif et quelle est sa fonction ?
Les séquences en Python sont indexées et sont constituées de nombres positifs et négatifs. Les nombres positifs utilisent « 0 » comme premier indice et « 1 » comme deuxième indice, que le processus continue d'utiliser.
Les indices pour les nombres négatifs commencent à partir de « -1 », qui représente le dernier index de la séquence, et « -2 » comme avant-dernier index, et la séquence avance comme des nombres positifs.
L'indexation négative est utilisée pour supprimer toutes les nouvelles lignes d'une chaîne et permettre à la chaîne d'être à l'exception du dernier caractère donné comme S[:-1]. L'indexation négative est également utilisée pour montrer que l'index représente la chaîne dans le bon ordre.
Q42. Qu'est-ce qu'un package Python ?
Un package Python est un espace de noms contenant plusieurs modules.
Q43. Comment supprimer des fichiers en Python ?
Pour supprimer des fichiers en Python, vous devez importer le module OS. Après cela, vous devez utiliser la fonction os.remove().
Q44. Quels sont les types intégrés de Python ?
Les types intégrés en Python sont les suivants : entier, virgule flottante, nombre complexe, chaîne, booléen, etc.
Q45. Quelles fonctions existe-t-il dans NumPy pour faire fonctionner les listes Python ?
Les listes Python sont des conteneurs efficaces à usage général. Ils prennent en charge une insertion, une suppression, un ajout et une concaténation (assez) efficaces, et les compréhensions de liste de Python les rendent faciles à construire et à manipuler.
Ils ont certaines limitations : ils ne prennent pas en charge les opérations "vectorisées" telles que l'addition et la multiplication pixélisées, et le fait qu'ils puissent contenir des objets de différents types signifie que Python doit stocker des informations de type pour chaque élément et doit exécuter du code de répartition de type au fur et à mesure. agit sur chaque élément.
NumPy n'est pas seulement plus efficace, il est aussi plus pratique. Vous bénéficiez gratuitement de nombreuses opérations vectorielles et matricielles, ce qui peut parfois vous éviter un travail inutile. Ils sont également efficacement mis en œuvre.
Les tableaux NumPy sont plus rapides, vous pouvez utiliser NumPy, FFT, la convolution, la recherche rapide, les statistiques de base, l'algèbre linéaire, les histogrammes et bien plus encore.
Q46. Comment ajouter des valeurs au tableau python ?
Des éléments peuvent être ajoutés à un tableau à l'aide des fonctions append(), extend() et insert(i,x).
Q47. Comment supprimer la valeur du tableau python ?
Vous pouvez utiliser la méthode pop() ou remove() pour supprimer des éléments du tableau. La différence entre ces deux fonctions est que la première renvoie la valeur supprimée alors que la seconde ne le fait pas.
Q48. Python a-t-il le concept d'OOps ?
Python est un langage de programmation orienté objet. Cela signifie que n'importe quel programme peut être résolu en python en créant un modèle objet. Dans le même temps, Python peut être considéré comme un langage de programmation et un langage structurel.
Q49. Quelle est la différence entre une copie profonde et une copie superficielle ?
Utilisez une copie superficielle lors de la création d'un nouveau type d'instance et conservez les valeurs copiées dans la nouvelle instance. La copie superficielle est utilisée pour copier un pointeur de référence tout comme une valeur. Ces références pointent vers l'objet original, et les modifications apportées à n'importe quel membre de la classe affecteront également sa copie originale. Les copies superficielles permettent une exécution plus rapide des programmes, en fonction de la taille des données utilisées.
La copie approfondie est utilisée pour stocker les valeurs copiées. Une copie complète ne copie pas le pointeur de référence vers l'objet. Il fait référence à un objet et stocke un nouvel objet vers lequel pointe l'autre objet. Les modifications apportées à la copie originale n'affectent pas les autres copies utilisant l'objet. Une copie complète peut ralentir l'exécution d'un programme car une copie est créée pour chaque objet appelé.
Q50. Comment implémenter le multi-threading en Python ?
Python a une bibliothèque multi-thread, mais l'effet de l'utilisation du multi-thread pour accélérer le code n'est pas si bon
Python a une structure appelée Global Interpreter Lock (GIL). Le GIL garantit qu'un seul "thread" peut s'exécuter à la fois. Un thread obtient le GIL pour effectuer les opérations pertinentes, puis transmet le GIL au thread suivant.
Bien qu'il puisse sembler que le programme est exécuté en parallèle par plusieurs threads, ils utilisent en réalité à tour de rôle le même cœur de processeur.
Toutes ces passes GIL ajoutent des frais généraux à l'exécution. Cela signifie que le multithreading ne rend pas le programme plus rapide.
【Recommandations associées :Tutoriel vidéo Python3】
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!