logo

Top 50+ Python-interviewspørgsmål og -svar (seneste 2024)

Python er det mest brugte sprog i topvirksomheder som Intel, IBM, NASA, Pixar, Netflix, Facebook, JP Morgan Chase, Spotify og mange flere på grund af dets ydeevne og dets kraftfulde biblioteker. For at komme ind i disse virksomheder og organisationer som Python-udvikler skal du mestre nogle vigtige Python-interviewspørgsmål at knække deres Python Online Assessment Round og Python Interview Round. Vi har udarbejdet en liste over Top 50 Python-interviewspørgsmål sammen med deres svar på es i interviews.

Python-interviewspørgsmål



Indholdsfortegnelse

Grundlæggende Python-interviewspørgsmål for nybegyndere

Python er et almindeligt anvendt programmeringssprog på højt niveau. Det blev skabt af Guido van Rossum i 1991 og videreudviklet af Python Software Foundation. Den blev designet med vægt på kodelæsbarhed, og dens syntaks tillader programmører at udtrykke deres koncepter i færre linjer kode.
Det bruges til:

  • System scripting
  • Web-udvikling
  • Spiludvikling
  • Softwareudvikling
  • Kompleks matematik

2. Hvad er fordelene ved at bruge Python-sproget som et værktøj i det nuværende scenarie?

Følgende er fordelene ved at bruge Python-sproget:



  • Objektorienteret sprog
  • Sprog på højt niveau
  • Dynamisk skrevet sprog
  • Omfattende støtte biblioteker
  • Tilstedeværelse af tredjepartsmoduler
  • Open source og samfundsudvikling
  • Bærbar og interaktiv
  • Bærbar på tværs af operativsystemer

3. Er Python et kompileret sprog eller et fortolket sprog?

Faktisk er Python et delvist kompileret sprog og delvist fortolket sprog. Kompileringsdelen udføres først, når vi udfører vores kode, og dette vil generere bytekode internt. Denne bytekode bliver konverteret af den virtuelle Python-maskine (p.v.m) i henhold til den underliggende platform (maskine+operativsystem).

4. Hvad gør '#'-symbolet i Python?

'#' bruges til at kommentere alt, hvad der kommer efter på linjen.

6. Hvordan sendes argumenter efter værdi eller ved reference i Python?

Alt i Python er et objekt, og alle variabler har referencer til objekterne. Referenceværdierne er i overensstemmelse med funktionerne; som et resultat, kan du ikke ændre værdien af ​​referencerne. Du kan dog ændre objekterne, hvis det kan ændres.

7. Hvad er forskellen mellem et sæt og en ordbog?

Sættet er en uordnet samling af datatyper, der kan itereres, ændres og ikke har duplikerede elementer.
En ordbog i Python er en ordnet samling af dataværdier, der bruges til at gemme dataværdier som et kort.

8. Hvad er listeforståelse? Giv et eksempel.

Listeforståelse er en syntakskonstruktion for at lette oprettelsen af ​​en liste baseret på eksisterende iterable.

For eksempel:

my_list = [i for i in range(1, 10)]>

9. Hvad er en lambdafunktion?

En lambdafunktion er en anonym funktion. Denne funktion kan have et hvilket som helst antal parametre, men kan kun have én sætning. For eksempel:

a = lambda x, y : x*y print(a(7, 19))>

10. Hvad er et pas i Python?

Pass betyder, at der ikke udføres nogen handling, eller med andre ord, det er en pladsholder i den sammensatte sætning, hvor der skal være et tomt felt tilbage, og der skal ikke skrives noget der.

11. Hvad er forskellen mellem / og // i Python?

/ repræsenterer præcis division (resultatet er et flydende kommatal), mens // repræsenterer etagedeling (resultatet er et heltal). For eksempel:

5//2 = 2 5/2 = 2.5>

12. Hvordan udføres exceptionel håndtering i Python?

Der er 3 hovednøgleord, dvs. prøv, undtagen og til sidst, som bruges til at fange undtagelser og håndtere gendannelsesmekanismen i overensstemmelse hermed. Try er blokken af ​​en kode, der overvåges for fejl. Undtagen blok bliver udført, når der opstår en fejl.

Skønheden ved den sidste blok er at udføre koden efter at have prøvet en fejl. Denne blok bliver udført, uanset om der er opstået en fejl eller ej. Endelig bruges blok til at udføre de nødvendige oprydningsaktiviteter af objekter/variabler.

13. Hvad er swapcase-funktion i Python?

Det er en strengs funktion, der konverterer alle store bogstaver til små bogstaver og omvendt. Det bruges til at ændre strengens eksisterende store og små bogstaver. Denne metode opretter en kopi af strengen, som indeholder alle tegnene i swap-casen. For eksempel:

string = 'techcodeview.com' string.swapcase() --->'gEEKSFORgEEKS'>

14. Forskellen mellem for loop og while loop i Python

For Loop bruges generelt til at iterere gennem elementerne i forskellige samlingstyper som f.eks Liste , Tuple , Sæt , og Ordbog . Udviklere bruger en for-løkke, hvor de både har betingelserne start og slutning. Mens while-løkken er den faktiske looping-funktion, der bruges i ethvert andet programmeringssprog. Programmører bruger en Python while-løkke, hvor de kun har slutbetingelserne.

15. Kan vi sende en funktion som et argument i Python?

Ja, flere argumenter kan overføres til en funktion, herunder objekter, variabler (af samme eller forskellige datatyper) og funktioner. Funktioner kan overføres som parametre til andre funktioner, fordi de er objekter. Funktioner af højere orden er funktioner, der kan tage andre funktioner som argumenter.

For at læse mere, se artiklen: Sender funktion som et argument i Python

16. Hvad er *args og *kwargs?

For at sende et variabelt antal argumenter til en funktion i Python skal du bruge den specielle syntaks *args og **kwargs i funktionsspecifikationen. Den bruges til at sende en argumentliste med variabel længde, nøgleordsfri. Ved at bruge *, bliver variablen, vi forbinder med * iterable, hvilket giver dig mulighed for at udføre operationer på den, såsom at iterere over den og bruge højere-ordens operationer som kort og filter.

17. Er indrykning påkrævet i Python?

Ja, fordybning er påkrævet i Python. EN Python tolk kan informeres om, at en gruppe af udsagn hører til en specifik kodeblok ved at bruge Python-indrykning. Indrykninger gør koden let at læse for udviklere på alle programmeringssprog, men i Python er det meget vigtigt at indrykke koden i en bestemt rækkefølge.

18. Hvad er Scope i Python?

Det sted, hvor vi kan finde en variabel og også få adgang til den, hvis det kræves, kaldes omfanget af en variabel.

  • Python Local variabel: Lokale variabler er dem, der initialiseres i en funktion og er unikke for denne funktion. Det kan ikke tilgås uden for funktionen.
  • Python globale variabler: Globale variabler er dem, der er defineret og erklæret uden for enhver funktion og er ikke specificeret til nogen funktion.
  • Omfang på modulniveau: Det refererer til de globale objekter i det aktuelle modul, der er tilgængelige i programmet.
  • Yderste rækkevidde: Det refererer til alle indbyggede navne, som programmet kan kalde. Det refererede navn er placeret sidst blandt objekterne i dette omfang.

19. Hvad er docstring i Python?

Python-dokumentationsstrenge (eller docstrings) giver en bekvem måde at forbinde dokumentation med Python-moduler, -funktioner, -klasser og -metoder.

  • Erklæring af Docstrings: Dokstringerne er deklareret ved hjælp af 'triple single quotes' eller triple double quotes lige under klasse-, metode- eller funktionserklæringen. Alle funktioner skal have en docstring.
  • Adgang til Docstrings: Du kan få adgang til docstrings ved hjælp af __doc__ metoden for objektet eller ved hjælp af hjælpefunktionen.

20. Hvad er et dynamisk skrevet sprog?

Skrevne sprog er de sprog, som vi definerer typen af ​​datatype på, og den vil være kendt af maskinen på kompileringstidspunktet eller under kørslen. Indskrevne sprog kan klassificeres i to kategorier:

  • Statisk indtastede sprog: I denne type sprog er datatypen for en variabel kendt på kompileringstidspunktet, hvilket betyder, at programmøren skal angive datatypen for en variabel på tidspunktet for dens erklæring.
  • Dynamisk indtastede sprog: Dette er de sprog, der ikke kræver nogen foruddefineret datatype for nogen variabel, da den fortolkes ved kørsel af maskinen selv. På disse sprog tildeler tolke datatypen til en variabel under kørsel afhængigt af dens værdi.

21. Hvad er pause, fortsæt og aflevering i Python?

Det pauseerklæring bruges til at afslutte løkken eller sætningen, hvori den er til stede. Herefter vil kontrollen overgå til de udsagn, der er til stede efter pauseopgørelsen, hvis den er tilgængelig.

Blive ved er også en loop-kontrol-sætning ligesom break-sætningen. continue-sætningen er modsat break-sætningen, i stedet for at afslutte løkken, tvinger den til at udføre den næste iteration af løkken.

Passere betyder, at der ikke udføres nogen handling, eller med andre ord, det er en pladsholder i den sammensatte sætning, hvor der skal være et tomt felt tilbage, og der skal ikke skrives noget der.

Numerisk: Den numeriske datatype i Python repræsenterer de data, der har en numerisk værdi. En numerisk værdi kan være et heltal, et flydende tal, et boolesk tal , eller endda et komplekst tal.
  • Sekvenstype: T sekvensen Data Type i Python er den ordnede samling af lignende eller forskellige datatyper. Der er flere sekvenstyper i Python:
  • Kortlægningstyper: I Python kan hashbare data kortlægges til tilfældige objekter ved hjælp af et kortlægningsobjekt. Der er i øjeblikket kun én almindelig kortlægningstype, ordbogen og kortlægningsobjekter kan ændres.
  • Sættyper: I Python, en Sæt er en uordnet samling af datatyper, der kan itereres, ændres og ikke har duplikerede elementer. Rækkefølgen af ​​elementer i et sæt er udefineret, selvom det kan bestå af forskellige elementer.
  • 23. Hvordan gulve du et nummer i Python?

    Python-matematikmodulet indeholder en metode, der kan bruges til at beregne gulvet i et tal.

    • etage() metode i Python returnerer gulvet i x, dvs. det største heltal, der ikke er større end x.
    • Desuden returnerer metoden ceil(x) i Python en loftværdi på x, dvs. det mindste heltal større end eller lig med x.

    Intermediate Python-interviewspørgsmål

    24. Hvad er forskellen mellem xrange- og range-funktioner?

    range() og xrange() er to funktioner, der kunne bruges til at iterere et bestemt antal gange i for loops i Python. I Python 3 er der ingen xrange, men rangefunktionen opfører sig som xrange i Python 2.

    • rækkevidde() – Dette returnerer en liste over tal, der er oprettet ved hjælp af funktionen range().
    • xrange() – Denne funktion returnerer generatorobjektet, der kun kan bruges til at vise tal ved looping. Det eneste bestemte område vises efter behov og kaldes derfor doven evaluering .

    25. Hvad er ordbogsforståelse? Giv et eksempel

    Ordbogsforståelse er en syntakskonstruktion for at lette oprettelsen af ​​en ordbog baseret på den eksisterende iterable.

    For eksempel: my_dict = {i:i+7 for i in range(1, 10)}

    26. Er Tuple Forståelse? Hvis ja, hvordan, og hvis ikke hvorfor?

    (i for i in (1, 2, 3))>

    Tuple-forståelse er ikke mulig i Python, fordi det ender i en generator, ikke en tuple-forståelse.

    27. Skelner mellem List og Tuple?

    Lad os analysere forskellene mellem List og Tuple:

    Liste

    • Lister er mutable datatype.
    • Lister bruger mere hukommelse
    • Listen er bedre til at udføre handlinger, såsom indsættelse og sletning.
    • Implikationen af ​​iterationer er tidskrævende

    Tuple

    • Tuples er uforanderlig datatype.
    • Tuple bruger mindre hukommelse sammenlignet med listen
    • En Tuple-datatype er passende til at få adgang til elementerne
    • Implikationen af ​​iterationer er forholdsvis hurtigere

    28. Hvad er forskellen mellem en lav kopi og en dyb kopi?

    Shallow copy bruges, når en ny instanstype bliver oprettet, og den beholder værdier, der er kopieret, mens deep copy gemmer værdier, der allerede er kopieret.

    En overfladisk kopi har hurtigere programudførelse, mens en dyb kopi gør den langsom.

    29. Hvilken sorteringsteknik bruges af sorter() og sorteret() funktionerne i python?

    Python bruger Tim Sort algoritme til sortering. Det er en stabil sortering, hvis værste tilfælde er O(N log N). Det er en hybrid sorteringsalgoritme, afledt af flettesortering og indsættelsessortering, designet til at fungere godt på mange slags data fra den virkelige verden.

    30. Hvad er dekoratører?

    Dekoratører er et meget kraftfuldt og nyttigt værktøj i Python, da de er den specifikke ændring, som vi laver i Python-syntaksen for nemt at ændre funktioner.

    31. Hvordan debugger man et Python-program?

    Ved at bruge denne kommando kan vi fejlsøge et Python-program:

    $ python -m pdb python-script.py>

    32. Hvad er iteratorer i Python?

    I Python bruges iteratorer til at iterere en gruppe af elementer, containere som en liste. Iteratorer er samlinger af genstande, og de kan være en liste, tupler eller en ordbog. Python iterator implementerer __itr__ og next() metoden til at iterere de lagrede elementer. Vi bruger generelt loops til at iterere over samlingerne (liste, tuple) i Python.

    33. Hvad er generatorer i Python?

    I Python er generatoren en måde, der specificerer, hvordan man implementerer iteratorer. Det er en normal funktion bortset fra, at den giver udtryk i funktionen. Den implementerer ikke metoden __itr__ og next() og reducerer også andre omkostninger.

    Hvis en funktion indeholder mindst en udbyttesætning, bliver den en generator. Nøgleordet udbytte sætter den aktuelle udførelse på pause ved at gemme dets tilstande og genoptager derefter fra det samme, når det kræves.

    34. Understøtter Python multiple inheritance?

    Python understøtter flere arv, i modsætning til Java. Flere arv betyder, at en klasse kan afledes fra mere end én overordnet klasse.

    35. Hvad er polymorfi i Python?

    Polymorfi betyder evnen til at antage flere former. Så hvis den overordnede klasse for eksempel har en metode ved navn ABC, kan den underordnede klasse også have en metode med samme navn ABC med sine egne parametre og variabler. Python tillader polymorfi.

    36. Definer indkapsling i Python?

    Indkapsling betyder at binde koden og dataene sammen. En Python-klasse er et eksempel på indkapsling.

    38. Hvordan foregår hukommelseshåndtering i Python?

    Python bruger sin private heap-plads til at administrere hukommelsen. Grundlæggende er alle objekter og datastrukturer gemt i det private heap-rum. Selv programmøren kan ikke få adgang til dette private rum, da tolken tager sig af dette rum. Python har også en indbygget skraldeopsamler, som genbruger al den ubrugte hukommelse og frigør hukommelsen og gør den tilgængelig for bunken.

    39. Hvordan sletter man en fil ved hjælp af Python?

    Vi kan slette en fil ved hjælp af Python ved følgende fremgangsmåder:

    • os.remove()
    • os.unlink()

    40. Hvad er slicing i Python?

    Python udskæring er en strengoperation til at udtrække en del af strengen eller en del af en liste. Med denne operatør kan man angive, hvor man skal starte udskæringen, hvor man skal slutte, og specificere trinnet. Listeudskæring returnerer en ny liste fra den eksisterende liste.

    Syntax: Lst[ Initial : End : IndexJump ]>

    41. Hvad er et navneområde i Python?

    Et navneområde er et navnesystem, der bruges til at sikre, at navne er unikke for at undgå navnekonflikter.

    Avancerede Python-interviewspørgsmål og svar

    42. Hvad er PIP?

    PIP er et akronym for Python Installer Package, som giver en sømløs grænseflade til at installere forskellige Python-moduler. Det er et kommandolinjeværktøj, der kan søge efter pakker over internettet og installere dem uden brugerinteraktion.

    43. Hvad er en zip-funktion?

    Python zip()-funktionen returnerer et zip-objekt, som kortlægger et lignende indeks over flere containere. Det tager en iterabel, konverterer den til en iterator og samler elementerne baseret på beståede iterables. Det returnerer en iterator af tupler.

    44. Hvad er bejdsning og bejdsning?

    Pickle-modulet accepterer ethvert Python-objekt og konverterer det til en strengrepræsentation og dumper det i en fil ved at bruge dump-funktionen, denne proces kaldes pickling. Mens processen med at hente originale Python-objekter fra den lagrede strengrepræsentation kaldes unpickling.

    45. Hvad er monkey patching i Python?

    I Python refererer udtrykket monkey patch kun til dynamiske modifikationer af en klasse eller et modul under kørsel.

    # 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. ​​Hvad er __init__() i Python?

    Svarende til konstruktører i OOP-terminologi er __init__ en reserveret metode i Python-klasser. Metoden __init__ kaldes automatisk, hver gang et nyt objekt startes. Denne metode allokerer hukommelse til det nye objekt, så snart det er oprettet. Denne metode kan også bruges til at initialisere variabler.

    47. Skriv en kode for at vise det aktuelle klokkeslæt?

    import time  currenttime= time.localtime(time.time()) print (Current time is, currenttime)>

    48. Hvad er Access Specifiers i Python?

    Python bruger '_'-symbolet til at bestemme adgangskontrollen for et specifikt datamedlem eller en medlemsfunktion i en klasse. En klasse i Python har tre typer af Python-adgangsmodifikatorer :

    • Offentlig adgangsmodifikator: Medlemmerne af en klasse, der er erklæret offentlige, er let tilgængelige fra enhver del af programmet. Alle datamedlemmer og medlemsfunktioner i en klasse er som standard offentlige.
    • Modifikator for beskyttet adgang: Medlemmerne af en klasse, der er erklæret beskyttet, er kun tilgængelige for en klasse, der stammer fra den. Alle datamedlemmer af en klasse erklæres beskyttet ved at tilføje et enkelt understregningstegn '_' før datamedlemmerne i den pågældende klasse.
    • Modifikator for privat adgang: Medlemmerne af en klasse, der er erklæret private, er kun tilgængelige inden for klassen, den private adgangsmodifikator er den mest sikre adgangsmodifikator. Datamedlemmer af en klasse erklæres private ved at tilføje et dobbelt understregningstegn '__' før datamedlemmet i den pågældende klasse.

    49. Hvad er enhedstest i Python?

    Unit Testing er det første niveau af softwaretest, hvor de mindste testbare dele af softwaren testes. Dette bruges til at validere, at hver enhed i softwaren fungerer som designet. Enhedstestrammerne er Pythons xUnit-stilramme. White Box-testmetoden bruges til enhedstestning.

    50. Python Global Interpreter Lock (GIL)?

    Python Global Interpreter Lock (GIL) er en type proceslås, der bruges af Python, når den omhandler processer. Generelt bruger Python kun én tråd til at udføre sættet af skriftlige udsagn. Ydeevnen af ​​den enkelt-trådede proces og den flertrådede proces vil være den samme i Python, og dette er på grund af GIL i Python. Vi kan ikke opnå multithreading i Python, fordi vi har en global fortolkerlås, der begrænser trådene og fungerer som en enkelt tråd.

    51. Hvad er funktionsanmærkninger i Python?

    Funktionsanmærkning er en funktion, der giver dig mulighed for at tilføje metadata til funktionsparametre og returværdier. På denne måde kan du angive inputtypen for funktionsparametrene og returtypen for den værdi, funktionen returnerer.

    Funktionsannoteringer er vilkårlige Python-udtryk, der er forbundet med forskellige dele af funktioner. Disse udtryk evalueres på kompileringstidspunktet og har intet liv i Pythons runtime-miljø. Python tillægger disse anmærkninger ingen mening. De tager liv, når de fortolkes af tredjepartsbiblioteker, for eksempel mypy.

    52. Hvad er undtagelsesgrupper i Python?

    Den seneste funktion i Python 3.11, Undtagelsesgrupper . ExceptionGroup kan håndteres ved hjælp af en ny undtagen*-syntaks. *-symbolet angiver, at flere undtagelser kan håndteres af hver undtagen*-sætning.

    ExceptionGroup er en samling/gruppe af forskellige slags Undtagelser. Uden at oprette flere undtagelser kan vi gruppere forskellige undtagelser, som vi senere kan hente en efter en, når det er nødvendigt, rækkefølgen, hvori undtagelserne er gemt i undtagelsesgruppen, betyder ikke noget, mens du kalder dem.

    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. Hvad er Python Switch Statement

    Fra version 3.10 og opefter har Python implementeret en switch case-funktion kaldet strukturel mønstermatching. Du kan implementere denne funktion med søgeordet match og case. Bemærk, at understregningssymbolet er det, du bruger til at definere en standardcase for switch-sætningen i Python.

    Bemærk : Før Python 3.10 understøtter Python ikke match Statements.

    Python3
    match term: case pattern-1: action-1 case pattern-2: action-2 case pattern-3: action-3 case _: action-default>

    54. Hvad er Walrus Operator?

    Hvalrossoperatøren giver dig mulighed for at tildele en værdi til en variabel i et udtryk. Dette kan være nyttigt, når du skal bruge en værdi flere gange i en løkke, men ikke ønsker at gentage beregningen.

    Walrus-operatøren er repræsenteret af `:=`-syntaksen og kan bruges i en række forskellige sammenhænge, ​​herunder while-løkker og if-sætninger.

    Bemærk: Python-versioner før 3.8 understøtter ikke Walrus Operator.

    Python3
    names = ['Jacob', 'Joe', 'Jim'] if (name := input('Enter a name: ')) in names: print(f'Hello, {name}!') else: print('Name not found.')>