logo

Topp 50+ Python-intervjufrågor och svar (senast 2024)

Python är det mest använda språket i toppföretag som Intel, IBM, NASA, Pixar, Netflix, Facebook, JP Morgan Chase, Spotify och många fler på grund av dess prestanda och dess kraftfulla bibliotek. För att komma in i dessa företag och organisationer som Python-utvecklare måste du behärska några viktiga Python-intervjufrågor att knäcka deras Python Online Assessment Round och Python Intervju Round. Vi har förberett en lista över Topp 50 Python-intervjufrågor tillsammans med deras svar på ess i intervjuer.

Python-intervjufrågor



Innehållsförteckning

Grundläggande Python-intervjufrågor för nybörjare

Python är ett allmänt använt programmeringsspråk på hög nivå. Det skapades av Guido van Rossum 1991 och vidareutvecklades av Python Software Foundation. Den designades med tonvikt på kodläsbarhet, och dess syntax tillåter programmerare att uttrycka sina koncept i färre rader kod.
Det används för:

  • Systemskript
  • Webbutveckling
  • Spelutveckling
  • Mjukvaruutveckling
  • Komplex matematik

2. Vilka är fördelarna med att använda Python-språket som ett verktyg i det aktuella scenariot?

Följande är fördelarna med att använda Python-språket:



  • Objektorienterat språk
  • Språk på hög nivå
  • Dynamiskt skrivet språk
  • Omfattande stödbibliotek
  • Närvaro av tredjepartsmoduler
  • Öppen källkod och samhällsutveckling
  • Bärbar och interaktiv
  • Bärbar över operativsystem

3. Är Python ett kompilerat språk eller ett tolkat språk?

Egentligen är Python ett delvis sammanställt språk och delvis tolkat språk. Kompileringsdelen görs först när vi exekverar vår kod och detta kommer att generera bytekod internt. Denna bytekod konverteras av den virtuella Python-maskinen (p.v.m) enligt den underliggande plattformen (maskin+operativsystem).

4. Vad gör symbolen '#' i Python?

'#' används för att kommentera allt som kommer efter på linjen.

6. Hur skickas argument med värde eller referens i Python?

Allt i Python är ett objekt och alla variabler har referenser till objekten. Referensvärdena är enligt funktionerna; som ett resultat kan du inte ändra värdet på referenserna. Du kan dock ändra objekten om det är föränderligt.

7. Vad är skillnaden mellan en uppsättning och en ordbok?

Uppsättningen är en oordnad samling av datatyper som är itererbar, föränderlig och har inga dubbletter av element.
En ordbok i Python är en ordnad samling av datavärden, som används för att lagra datavärden som en karta.

8. Vad är listförståelse? Ge ett exempel.

Listförståelse är en syntaxkonstruktion för att underlätta skapandet av en lista baserad på befintlig iterabel.

Till exempel:

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

9. Vad är en lambdafunktion?

En lambdafunktion är en anonym funktion. Den här funktionen kan ha valfritt antal parametrar men kan bara ha en sats. Till exempel:

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

10. Vad är ett pass i Python?

Godkänt betyder att man inte utför någon operation eller med andra ord, det är en platshållare i den sammansatta satsen, där det ska finnas ett tomrum kvar och inget måste skrivas där.

11. Vad är skillnaden mellan / och // i Python?

/ representerar exakt division (resultatet är ett flyttal) medan // representerar våningsdelning (resultatet är ett heltal). Till exempel:

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

12. Hur görs exceptionell hantering i Python?

Det finns 3 huvudsökord, dvs försök, utom, och slutligen som används för att fånga upp undantag och hantera återställningsmekanismen därefter. Try är blocket av en kod som övervakas för fel. Förutom att blocket exekveras när ett fel uppstår.

Det fina med det sista blocket är att exekvera koden efter att ha försökt efter ett fel. Detta block exekveras oavsett om ett fel inträffade eller inte. Slutligen används block för att göra de nödvändiga rensningsaktiviteterna för objekt/variabler.

13. Vad är swapcase-funktion i Python?

Det är en strängs funktion som omvandlar alla versaler till gemener och vice versa. Den används för att ändra strängens befintliga skiftläge. Denna metod skapar en kopia av strängen som innehåller alla tecken i växlingsfallet. Till exempel:

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

14. Skillnaden mellan for loop och while loop i Python

For Loop används vanligtvis för att iterera genom elementen i olika samlingstyper som t.ex Lista , Tuple , Uppsättning , och Lexikon . Utvecklare använder en for-loop där de har både förutsättningarna för start och slut. Medan while-loopen är den faktiska looping-funktionen som används i alla andra programmeringsspråk. Programmerare använder en Python while loop där de bara har slutvillkoren.

15. Kan vi skicka en funktion som ett argument i Python?

Ja, flera argument kan skickas till en funktion, inklusive objekt, variabler (av samma eller olika datatyper) och funktioner. Funktioner kan skickas som parametrar till andra funktioner eftersom de är objekt. Funktioner av högre ordning är funktioner som kan ta andra funktioner som argument.

undantagshantering i java

För att läsa mer, se artikeln: Passar funktion som argument i Python

16. Vad är *args och *kwargs?

För att skicka ett variabelt antal argument till en funktion i Python, använd den speciella syntaxen *args och **kwargs i funktionsspecifikationen. Den används för att skicka en sökordsfri argumentlista med variabel längd. Genom att använda *, blir variabeln vi associerar med * iterabel, vilket gör att du kan göra operationer på den som att iterera över den och använda högre ordningsoperationer som map och filter.

17. Krävs indrag i Python?

Ja, indrag krävs i Python. A Pytonorm tolk kan informeras om att en grupp av satser tillhör ett specifikt kodblock genom att använda Python-indrag. Indrag gör koden lätt att läsa för utvecklare i alla programmeringsspråk men i Python är det mycket viktigt att dra in koden i en specifik ordning.

18. Vad är Scope i Python?

Platsen där vi kan hitta en variabel och även komma åt den om det behövs kallas omfånget för en variabel.

  • Python Local variabel: Lokala variabler är de som initieras inom en funktion och är unika för den funktionen. Den kan inte nås utanför funktionen.
  • Python Globala variabler: Globala variabler är de som definieras och deklareras utanför någon funktion och inte specificeras för någon funktion.
  • Omfattning på modulnivå: Det hänvisar till de globala objekten för den aktuella modulen som är tillgängliga i programmet.
  • Yttersta omfattning: Det hänvisar till alla inbyggda namn som programmet kan anropa. Det namn som refereras till är placerat sist bland objekten i detta omfång.

19. Vad är docstring i Python?

Python-dokumentationssträngar (eller docstrings) ger ett bekvämt sätt att associera dokumentation med Python-moduler, funktioner, klasser och metoder.

  • Deklarera Docstrings: Dokstringarna deklareras med 'trippel enkla citattecken' eller trippel dubbla citattecken precis under klass-, metod- eller funktionsdeklarationen. Alla funktioner bör ha en docstring.
  • Åtkomst till Docstrings: Du kan komma åt docstrings med hjälp av __doc__-metoden för objektet eller med hjälp av hjälpfunktionen.

20. Vad är ett dynamiskt skrivet språk?

Maskinskrivna språk är de språk som vi definierar typen av datatyp på och den kommer att vara känd av maskinen vid kompileringstidpunkten eller vid körning. Inskrivna språk kan klassificeras i två kategorier:

  • Statiskt skrivna språk: I denna typ av språk är datatypen för en variabel känd vid kompileringstillfället, vilket innebär att programmeraren måste specificera datatypen för en variabel vid tidpunkten för dess deklaration.
  • Dynamiskt skrivna språk: Det här är de språk som inte kräver någon fördefinierad datatyp för någon variabel eftersom den tolkas under körning av maskinen själv. På dessa språk tilldelar tolkar datatypen till en variabel vid körning beroende på dess värde.

21. Vad är en paus, fortsätt och pass i Python?

De bryta uttalande används för att avsluta loopen eller satsen där den finns. Därefter kommer kontrollen att övergå till de uttalanden som finns efter paussatsen, om sådana finns.

Fortsätta är också en loopkontrollsats precis som break-satsen. continu-satsen är motsatt den för break-satsen, istället för att avsluta loopen, tvingar den att exekvera nästa iteration av loopen.

Passera betyder att man inte utför någon operation eller med andra ord, det är en platshållare i den sammansatta satsen, där det ska finnas ett tomt tecken och inget måste skrivas där.

Numerisk: Den numeriska datatypen i Python representerar data som har ett numeriskt värde. Ett numeriskt värde kan vara ett heltal, ett flytande tal, ett booleskt värde , eller till och med ett komplext tal.
  • Sekvenstyp: T sekvensen Data Type i Python är den ordnade samlingen av liknande eller olika datatyper. Det finns flera sekvenstyper i Python:
  • Kartläggningstyper: I Python kan hashbar data mappas till slumpmässiga objekt med hjälp av ett mappningsobjekt. Det finns för närvarande bara en vanlig mappningstyp, ordboken och mappningsobjekt är föränderliga.
  • Uppsättningstyper: I Python, en Uppsättning är en oordnad samling av datatyper som är itererbar, föränderlig och har inga dubbletter av element. Ordningen av element i en uppsättning är odefinierad även om den kan bestå av olika element.
  • 23. Hur golvar du ett nummer i Python?

    Python-matematikmodulen innehåller en metod som kan användas för att beräkna golvet för ett tal.

    • golv() metod i Python returnerar golvet för x, dvs det största heltal som inte är större än x.
    • Dessutom returnerar metoden ceil(x) i Python ett takvärde på x, dvs det minsta heltal större än eller lika med x.

    Intermediate Python-intervjufrågor

    24. Vad är skillnaden mellan funktionerna xrange och range?

    range() och xrange() är två funktioner som kan användas för att iterera ett visst antal gånger in för loopar i Python. I Python 3 finns det ingen xrange, men range-funktionen beter sig som xrange i Python 2.

    • räckvidd() – Detta returnerar en lista över tal skapade med funktionen range().
    • xrange() – Den här funktionen returnerar generatorobjektet som kan användas för att visa tal endast genom looping. Det enda specifika intervallet visas på begäran och anropas därför lat utvärdering .

    25. Vad är ordboksförståelse? Ge ett exempel

    Ordboksförståelse är en syntaxkonstruktion för att underlätta skapandet av en ordbok baserad på den befintliga iterable.

    Till exempel: my_dict = {i:i+7 för i inom intervallet(1, 10)}

    26. Är Tuple förståelse? Om ja, hur och om inte varför?

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

    Tuppelförståelse är inte möjligt i Python eftersom det kommer att hamna i en generator, inte en tuppelförståelse.

    27. Skiljer på List och Tuple?

    Låt oss analysera skillnaderna mellan List och Tuple:

    Lista

    • Listor är föränderliga datatyper.
    • Listor förbrukar mer minne
    • Listan är bättre för att utföra operationer, såsom infogning och borttagning.
    • Implikationen av iterationer är tidskrävande

    Tuple

    • Tuples är oföränderlig datatyp.
    • Tuple förbrukar mindre minne jämfört med listan
    • En Tuple-datatyp är lämplig för att komma åt elementen
    • Implikationen av iterationer är jämförelsevis snabbare

    28. Vad är skillnaden mellan en ytlig kopia och en djup kopia?

    Grund kopia används när en ny instanstyp skapas och den behåller värden som kopieras medan djupkopia lagrar värden som redan är kopierade.

    det är

    En ytlig kopia har snabbare programexekvering medan en djup kopia gör den långsam.

    29. Vilken sorteringsteknik används av funktionerna sort() och sorted() i python?

    Python använder Tim Sort algoritm för sortering. Det är en stabil sortering vars värsta fall är O(N log N). Det är en hybridsorteringsalgoritm, härledd från sammanslagningssortering och infogningssortering, designad för att fungera bra på många typer av verklig data.

    30. Vad är dekoratörer?

    Dekoratörer är ett mycket kraftfullt och användbart verktyg i Python eftersom de är den specifika förändring som vi gör i Python-syntaxen för att enkelt ändra funktioner.

    31. Hur felsöker man ett Python-program?

    Genom att använda detta kommando kan vi felsöka ett Python-program:

    $ python -m pdb python-script.py>

    32. Vad är Iteratorer i Python?

    I Python används iteratorer för att iterera en grupp av element, behållare som en lista. Iteratorer är samlingar av objekt, och de kan vara en lista, tuplar eller en ordbok. Python iterator implementerar __itr__ och metoden next() för att iterera de lagrade elementen. Vi använder vanligtvis loopar för att iterera över samlingarna (lista, tuple) i Python.

    33. Vad är generatorer i Python?

    I Python är generatorn ett sätt som anger hur iteratorer ska implementeras. Det är en normal funktion förutom att den ger uttryck i funktionen. Den implementerar inte metoden __itr__ och next() och minskar även andra omkostnader.

    Om en funktion innehåller åtminstone en avkastningssats, blir den en generator. Nyckelordet yield pausar den aktuella exekveringen genom att spara dess tillstånd och återupptas sedan från samma när det behövs.

    34. Stöder Python multipelt arv?

    Python stöder flera arv, till skillnad från Java. Flera arv innebär att en klass kan härledas från mer än en förälderklass.

    35. Vad är polymorfism i Python?

    Polymorfism betyder förmågan att ta flera former. Så, till exempel, om den överordnade klassen har en metod som heter ABC så kan den underordnade klassen också ha en metod med samma namn ABC med sina egna parametrar och variabler. Python tillåter polymorfism.

    36. Definiera inkapsling i Python?

    Inkapsling innebär att binda samman koden och data. En Python-klass är ett exempel på inkapsling.

    38. Hur görs minneshantering i Python?

    Python använder sitt privata heaputrymme för att hantera minnet. I princip lagras alla objekt och datastrukturer i det privata heaputrymmet. Inte ens programmeraren kan komma åt detta privata utrymme eftersom tolken tar hand om detta utrymme. Python har också en inbyggd sopsamlare, som återvinner allt oanvänt minne och frigör minnet och gör det tillgängligt för högen.

    39. Hur tar man bort en fil med Python?

    Vi kan ta bort en fil med Python genom följande tillvägagångssätt:

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

    40. Vad är slicing i Python?

    Python skivning är en strängoperation för att extrahera en del av strängen, eller någon del av en lista. Med denna operatör kan man specificera var man ska börja skivningen, var man ska sluta och ange steget. Listdelning returnerar en ny lista från den befintliga listan.

    Syntax: Lst[ Initial : End : IndexJump ]>

    41. Vad är ett namnområde i Python?

    Ett namnområde är ett namnsystem som används för att se till att namn är unika för att undvika namnkonflikter.

    Avancerade Python-intervjufrågor och svar

    42. Vad är PIP?

    PIP är en akronym för Python Installer Package som ger ett sömlöst gränssnitt för att installera olika Python-moduler. Det är ett kommandoradsverktyg som kan söka efter paket över internet och installera dem utan någon användarinteraktion.

    43. Vad är en zip-funktion?

    Python zip()-funktionen returnerar ett zip-objekt, som mappar ett liknande index av flera behållare. Det tar en iterabel, konverterar den till en iterator och aggregerar elementen baserat på iterables som passerats. Det returnerar en iterator av tupler.

    44. Vad är Betning och Unbetning?

    Pickle-modulen accepterar vilket Python-objekt som helst och konverterar det till en strängrepresentation och dumpar det i en fil genom att använda dumpfunktionen, denna process kallas betning. Medan processen att hämta ursprungliga Python-objekt från den lagrade strängrepresentationen kallas unpickling.

    45. Vad är monkey patching i Python?

    I Python hänvisar termen monkey patch endast till dynamiska modifieringar av en klass eller modul under körning.

    # 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. ​​Vad är __init__() i Python?

    Motsvarar konstruktörer i OOP-terminologi, __init__ är en reserverad metod i Python-klasser. Metoden __init__ anropas automatiskt när ett nytt objekt initieras. Denna metod allokerar minne till det nya objektet så snart det skapas. Denna metod kan också användas för att initiera variabler.

    47. Skriv en kod för att visa aktuell tid?

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

    48. Vad är Access Specifiers i Python?

    Python använder symbolen '_' för att bestämma åtkomstkontrollen för en specifik datamedlem eller en medlemsfunktion i en klass. En klass i Python har tre typer av Python-åtkomstmodifierare :

    • Public Access Modifier: Medlemmarna i en klass som förklaras offentliga är lättillgängliga från vilken del av programmet som helst. Alla datamedlemmar och medlemsfunktioner i en klass är offentliga som standard.
    • Modifierare av skyddad åtkomst: Medlemmarna i en klass som förklaras skyddade är endast tillgängliga för en klass som härrör från den. Alla datamedlemmar i en klass förklaras skyddade genom att lägga till ett enda understreck '_' före datamedlemmarna i den klassen.
    • Modifierare för privat åtkomst: Medlemmarna i en klass som har förklarats privata är endast tillgängliga inom klassen, den privata åtkomstmodifieraren är den säkraste åtkomstmodifieraren. Datamedlemmar i en klass förklaras privata genom att lägga till ett dubbelt understreck '__' före datamedlemmen i den klassen.

    49. Vad är enhetstester i Python?

    Unit Testing är den första nivån av mjukvarutestning där de minsta testbara delarna av mjukvaran testas. Detta används för att verifiera att varje enhet i programvaran fungerar som den är designad. Enhetstestramverket är Pythons ramverk i xUnit-stil. White Box-testmetoden används för enhetstestning.

    50. Python Global Interpreter Lock (GIL)?

    Python Global Interpreter Lock (GIL) är en typ av processlås som används av Python när det handlar om processer. I allmänhet använder Python bara en tråd för att exekvera uppsättningen av skriftliga uttalanden. Prestandan för den enkeltrådade processen och den flertrådade processen kommer att vara densamma i Python och detta beror på GIL i Python. Vi kan inte uppnå multithreading i Python eftersom vi har ett globalt tolklås som begränsar trådarna och fungerar som en enda tråd.

    51. Vad är funktionsanteckningar i Python?

    Funktionskommentar är en funktion som låter dig lägga till metadata till funktionsparametrar och returvärden. På så sätt kan du specificera ingångstypen för funktionsparametrarna och returtypen för värdet som funktionen returnerar.

    Funktionskommentarer är godtyckliga Python-uttryck som är associerade med olika delar av funktioner. Dessa uttryck utvärderas vid kompilering och har inget liv i Pythons runtime-miljö. Python lägger ingen mening till dessa kommentarer. De tar liv när de tolkas av tredjepartsbibliotek, till exempel mypy.

    52. Vad är undantagsgrupper i Python?

    Den senaste funktionen i Python 3.11, Undantagsgrupper . ExceptionGroup kan hanteras med en ny except*-syntax. *-symbolen indikerar att flera undantag kan hanteras av varje except*-sats.

    ExceptionGroup är en samling/grupp av olika typer av undantag. Utan att skapa flera undantag kan vi gruppera olika undantag som vi senare kan hämta ett och ett när det behövs, ordningen i vilken undantagen lagras i undantagsgruppen spelar ingen roll när du anropar 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. Vad är Python Switch Statement

    Från och med version 3.10 och uppåt har Python implementerat en switch case-funktion som kallas strukturell mönstermatchning. Du kan implementera den här funktionen med sökorden för matchning och fall. Observera att understreckssymbolen är vad du använder för att definiera ett standardfall för switch-satsen i Python.

    Notera : Innan Python 3.10 stöder Python inte matchningsutlåtanden.

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

    54. Vad är Walrus Operator?

    Valrossoperatören låter dig tilldela ett värde till en variabel i ett uttryck. Detta kan vara användbart när du behöver använda ett värde flera gånger i en slinga, men inte vill upprepa beräkningen.

    Walrus-operatören representeras av `:=`-syntaxen och kan användas i en mängd olika sammanhang inklusive while-loopar och if-satser.

    Notera: Python-versioner före 3.8 stöder inte Walrus Operator.

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


    linux hur man byter namn på en katalog