Python ən çox soruşulan suallar və cavabları

Yusif
Pragmatech
Published in
10 min readNov 30, 2021

1. Metod nədir?

Cavab:

  • Metod adətən, “multi.multiplication(arg)” şəklində çağırdığımız multi obyektində funksiyadır. Ümumiyyətlə, metodlar class daxilindəki funksiyalara deyilir.

2. Son obyekti list’dən necə silə bilərik?

Cavab:

list.pop(obj=list[-1])

pop metodu siyahıdan sonuncu elementi silir.

3. Python’da ədədi verilənlər ilə sorting (sıralama) alqoritmi yazın.

Cavab:

  • Nümunədəki kodu izləyərək, python’da list’i sıralaya bilərsiniz.

4. Map() funksiyası nədir?

Cavab:

  • Map() funksiyası daxilində iterable obyekt və funksiya qəbul edir (Məs: map(func, iterable …)).

Nümunə:

5. TkInter nədir?

Cavab:

  • TkInter Python kitabxanasıdır. GUI (graphical user interface) üçün toolkit’dir (alət). Əsasən, masaüstü proqramları üçün istifadə olunur. Rənglər, şriftlər, ölçülər və kursorlar kimi atributları mövcuddur.

6. Python obyekt yönümlüdür? Obyekt yönümlü proqramlaşdırma nədir?

Cavab:

  • Bəli, python obyekt yönümlü proqramlaşdırma dilidir. OOP class’lara və obyektlərə əsaslanan proqramlaşdırma paradiqmasıdır. OOP xüsusiyyətləri bunlardır: Encapsulation, Data Abstraction, Inheritance, Polymorphism.

7. Verilmiş string’in palindrom olub, olmadığını yoxlayan Python funksiyası yazın.

Cavab:

  • Qeyd: Palindrom, tərsdən yazılışı da eyni cür olan sözlərə deyilir (Məs: ana, ata)

8. Rəqəmlər list’inin cəmini hesablamaq üçün Python proqramı yazın.

Cavab:

Output: 15

9. Aşağıdakı kodun nəticəsi nədir?

Cavab:

  • TypeError error’u verəcək çünki, map()’in len() funksiyası yoxdur. Yəni uzunluq anlayışı yoxdur.

10. Aşağıdakı kodun nəticəsi nədir?

Cavab:

  • List’də 2 element olduğu üçün len() metodunun köməyi ilə, list’in uzunluğunu 2 alacayıq.

11. Python’da dictionary (lüğət) nədir?

Cavab:

  • Dictionary (lüğət) python data tiplərindən biridir. Key — value (açar — dəyər) şəklində təyin edilir. Məsələn, işçi və onun maaşını nümunə göstərmək olar.
Output - <class 'dict;>
  • Bu nümunədə key — employee, value — salary’dir.

12. Dictionary’dəki bütün key’lərin (açar) siyahısını necə əldə etmək olar?

Cavab:

  • Bunun üçün key() metodundan istifadə edəcəyik.
Output - dict_keys(['a', 'b', 'c', 'e'])

13. Python’da join() və split() metodlarını izah edin.

Cavab:

  • .join() metodu istənilən iterativ (sadalanan, list şəklində olan) elementi qəbul edir və onları müəyyən edilmiş simvolla ayırmağa kömək edir.
','.join('12345')

Output — ‘1,2,3,4,5’ (string return edir.)

  • .split() metodu təyin etdiyimiz simvol ətrafında string’ləri ayırır.
'example@gmail.com'.split('@')

Output — [‘example’, ‘gmail.com’] (list içərisində simvola görə ayrılmış string’ləri return edir.)

14. Python’da “pass”ın mənası nədir?

Cavab:

  • Kodumuza hələ nə edəcəyimizə qərar vermədiyimiz vaxtlar ola bilər. Bu zaman kodun düzgün sintaksı olması üçün (error verməməsi üçün), ‘pass’ ifadəsindən istifadə edə bilərik.
  • Eyni ifadəyə “…” şəklində rast gələ bilərsiniz.

15. Bir sətirdə birdən çox dəyişəni necə təyin etmək olar?

Cavab:

16. Aşağıdakı proqramı necə təkminləşdirə bilərsiniz?

Cavab:

  • Enumerate metodu key-value şəklində tuple qaytarır. Format string isə string’in içərisində dəyişən istifadə etmək üçün əlverişlidir.

17. Aşağıdakı kodun output’u nə olacaq?

Cavab:

  • Bu metodla listin 10-cu indeksdən sonrakı elementlərini çap etmək istədiyimizi bildiririk. Lakin, listdə 5 element olduğu üçün 4-cü indeksdən sonra boş list qaytarır. Bu səbəbdən, 10-cu indeksdən sonrakı elementləri istədikdə bizə boş list (“[]”) qaytarır.

18. Tuple unpacking nədir?

Cavab:

mytuple=3,4,5print(mytuple)

Bu nümunədə 3,4,5 ədədlərini tuple’a əlavə edirik.

x,y,z=mytupleprint(x+y+z)

Burada isə tuple’a atdığımız integer dəyərləri x,y,z dəyişənlərinə mənimsədirik.

19. Python hansı data tiplərini dəstəkləyir?

Cavab:

  • Python bizə 5 növ data tipi təqdim edir.

20. Slicing nədir?

Cavab:

  • Slice() metodu bizə stringi və ya list elementlərini hissələrə ayırmaq üçün istifadə olunur.
(1,2,3,4,5)[2:4](3, 4)[7,6,8,5,9][2:][8, 5, 9]'Hello'[:-1]'Hell'

21. Number’i string’ə necə çevirə bilərəm?

Cavab:

  • Pythonda number data tipini string data tipinə dəyişməyin bir neçə yolu var. str(), “%s” , “f-string” , format() kimi methodlardan istifadə oluna bilər.

str() function istifadəsi

“%s” keyword istifadəsi

f-string`in istifadəsi

.format() function istifadəsi

22. Garbage Collection nədir?

Cavab:

  • Pythonda yaddaş tənzimləmək üçün proqramda istifadə edilməyən obyektləri avtomatik olaraq silir. Bu proses Garbage Collection adlanır. Garbage collection hər bir obyekt üçün reference count (referans sayı) sayır. Və reference count 0-a bərabır olduğu zaman həmin obyekti silir. Obyektin referans sayı bu obyekt yeni bir dəyişənə ötürüldüyü zaman və ya list, tuple, dictionary-də istifadə olunduğu zaman artır. Obyektin referansları yenidən təyin edildiyi zaman və ya dəyişdirildiyi zaman isə reference count azalır.
a = 100  // <100> obyekti yaranırb = a // <100>-ün reference count-u artırc = b // <100>-ün reference count-u artırd = [a] // <100>-ün reference count-u artırb = 50 // <100>-ün reference count-u azalırd[0] = 30 // <100>-ün reference count-u azalır

23. Python’da öz package’nizi necə yarada bilərsiniz?

Cavab:

1. Əvvəlcə directory yaradırıq və ona package name veririk

2. Sonra ora lazım olan funksiyaları və classları yerləşdiririk.

3. Sonunda isə directory`nin içində init.py faylı yaradırıq ki, Python bu directory-nin package olduğunu anlasın.

24. Pythonda “with” ifadəsinin istifadəsini izah edin?

Cavab:

  • “With” statement kodların daha oxunaqlı və təmiz olmasında önəmli rol oynayır. Bunun yanı sıra, faylların idarə olunmasına da köməklik edir. Aşağıdakı kod parçasında bunun nümunısini görə bilərik.

25. Python’da split() funksiyasını izah edin.

Cavab:

  • Pythonda split() methodu listləri verilmiş şərtə əsasən bölür. Default olaraq(Əgər şərt verilməsə) listləri boşluğa əsasən bölür. Aşağıdakı nümunədə necə işlədiyini görmək olar.

26. Python’da input’u necə götürürük?

Cavab:

  • Pythonda input üçün input() funksiyasından istifadə olunur. Userdən hər hansısa bir datanı götürmək üçün istifadə olunur. Məsələn age = input(“Yaşınızı qeyd edin: “) formasında yazsaq userdən gələn datanı bir dəyərə bərabər edə bilirik. Bir nüansı qeyd etmək lazımdır ki, input() methodu string qaytarır, əgər int qaytarmasını istəyirsinizsə age = int(input(“Yaşınızı qeyd edin: “)) kimi yaza bilərsiniz.

27. Python’da məntiqi operatorları izah edin.

Cavab:

Bir çox programlaşdırma dilində olduğu kimi Pythonda da 3 dənə logical operator var. And , Or, Not.

1. And operator

  • Bu operatorla verilən bütün şərtlər ödənməlidir.

Nəticə:

The numbers are greater than 0At least one number is not greater than 0

2. Or operator

  • Bu oparetorla verilən statementlar bir şərt ödəndikdə işləyir.

Nəticə:

Either of the number is greater than 0No number is greater than 0

3. Not operator

  • Pythonda Not operatoru boolean valuelarla işlənir. Məsələn boolean value True-dursa, bu False qaytarır.

Nəticə:

10 is divisible by either 3 or 5

28. Python’dan istifadə etməyin 5 faydasını qeyd edin.

Cavab:

1. Yeni başlayanlar üçün öyrənilməsi asan olan bir dildir.

2. Multi-purpose bir dildir. Yəni bir çox platforma üçün layihə hazırlamaq olur. Web app, desktop app, oyun, Aİ(suni intellekt) kimi bir fərqli sahələrdə istifadə oluna bilir.

3. Pythonun fərqli və geniş kitabxanasının olması developerlərə də rahatlıq təmin edir. Beləliklə developerlərin daha productive olmasına kömək edir.

4. Python developers community digər dillərə baxanda daha geniş yayıldığına görə bir məsələnin həllini tapmaq daha az vaxt alır.

5. OOPni dəstəklədiyinə görə hard codingdən bizi qoruyur. OOPnin bütün üstünlüklərini istifadə edə bilirik.

29. Python’da yerli və qlobal dəyişənlər.

Cavab:

  • Funksiyaların içində yaranan hər bir variable (məs: x=3) local variable sayılır. Onun istifadəsi və icazəsi yalnız həmin funksiya üçün olur.

Local Value

Output - local
  • Məsələn yuxarıdakı kod parçasına baxdıqda y dəyəri funksiyanın içində yaranıb və içində də istifadə olunur. Əgər print funksiyası funsiyanın çölündə icra olunsaydı kod error verecekdi.

Global Value

  • Bu o variabledir ki funksiyanın çölündə də yaransa da onu bütün funksiyalarda istifadəsi mümkündür.
x inside: globalx outside: global
  • Bu misalda isə x global variable olduğu üçün həm funksiyanın içində həm də çölündə istifadəsi mümkündür.

30. Tutaq ki, [2, 33, 222, 14, 25], list1[-1] nədir?

Cavab:

Output - 25

31. Pythonda təsadüfi listin çıxarılması necə olur?

Cavab:

  • Bunun üçün shuffle() funksiyasından istiffadə edilir. Öncəliklə bu funksiyanı import etmək lazımdır. İstifadəsi aşağıdakı kimidir.
Output: [3, 4, 8, 0, 5, 7, 6, 2, 1]

32. Python’da //, %, ** operatorlarını izah edin.

Cavab:

  • // Bölünmə zamanı nəticənin integer hissəsini göstərir.
7 // 23Normal bölünmə zamanı cavab 3.5 olmalı idi.
  • ** Operatoru ədədin qüvvətini almaq üçündür. a üstü b almaq üçün a**b yazma lazımdır.
2**101024
  • % Operatoru qalıqlı bölünmədə qalığı görmək üçün istifadə edilir.
13 % 76

33. Docstring nədir?

Cavab:

  • Docstring hər hansı bit funsiyanın və ya metodun daxilində yazılır. Və həmin funksiya/metodun nə etdiyini açıqlayır. Docstringlər 3 ədəd tək/cüt dırnaq arasında yazılır.

Funksiyanın docstringini görmək üçün __doc__ atributu istifadə edilir.

print (salam.__doc__)

34. Python’da hazırda hansı faylda olduğunu necə tapmaq olar?

Cavab:

  • Bunu tapmaq üçün getcwd() metodundan istifadə edilir. Öncəliklə os modulunu imoprt etməliyik.

Əlavə olaraq, chdir() metodu ilə bu direktoriyanı dəyişə də bilərik.

35. Range() funksiyası neçə arqument qəbul edir?

Cavab:

  • range() funksiyası 3 ədəd arqument götürür. Bunlar start, stop və step arqumentləridir. Start hansı ədəddən başlayacağını, stop hansı ədədə qədər davam edəcəyini, step isə artım ədədini bildirir. Step 2 olsa ədədlər iki — iki artacaqdır.
range(5)Yalnız 1 arqument verdikdə, funksiya bu ədədi stop arqumenti olaraq qəbul edir. Bu halda step 1 olur.range(0,6)İki arqument verdikdə birinci rəqəm start arqumenti, ikinci rəqəm isə stop arqumenti olur. Bu halda step yenə 1-ə bərabərdir.range(0,20,2)Üç arqument verdikdə isə birinci rəqəm start arqumenti, ikinci rəqəm isə stop arqumenti, üçüncü rəqəm isə step arqumenti olur.

36. Global keyword (açar sözü) nədir?

Cavab:

  • Global keywordü hansısa dəyişəni kodun istənilən yerində əlçatan etmək üçün istifadə edilir.

Misal üçün :

Belə olan halda a is not defined erroru ilə qarşılaşacağıq. Erroru həll etmək üçün kodu aşağıdakı kimi dəyişməliyik :

37. Python’da faylı silmək üçün hansı funksiya və metodlar istifadə olunur?

Cavab:

  • remove() və unlink() metodlarından istifadə edə bilərik.
import osos.remove('app.py')

Unlinkin istifadəsi isə aşağıdakı kimidir.

import osos.unlink("app.py")

38. Pythonda’da error’ların idarə edilməsini təsvir edin.

Cavab:

try:….# Bura yoxlamaq istədiyiniz kodu yazırıq.except:…# Yoxlamaq istədyiniz erroru və return'ü yazırıq.finally:…# İstisnalara baxmayaraq, almaq istədiyiniz nəticəni bura yazırıq.

39. For dövründə break’dən nə zaman istifadə edilir?

Cavab:

  • For loop öz işini yerinə yetirdikdə və loop ilə bir işimiz qalmadıqda ‘break’ komandası köməyimizə çatır. Break bildirir ki, “mənim bu dövr ilə işim bitdi, növbəti kod blokuna keçin.”.

40. For dövründən istifadə edərək, verilən string’dəki hər elemnti bir sətirdə yazdırın.

Cavab:

myString = "I Love Python"for myChar in myString:print(myChar)

41. Python’da inheritance’ı (varislik) izah edin.

  • Inheritance (varislik) bizə kodun təkrar istifadəsini təmin edir, proqram yaratmaq və saxlamağı asanlaşdırır. Bir class’a digər class’ın bütün atributlarını, metodlarını əldə etməyə kömək edir. Bu isə bizə eyni xüsusiyyətlərə sahib bir çox class’ı sadəcə bir dəfə yazaraq, digərləri ilə overwrite (üzərinə yazmaq) etməyə və ya yeni metod, atribut əlavə etməyə imkanı verir.

Python bir neçə fərqli tipdə inheritance’ı dəstəkləyir:

  • Single Inheritance — bir class tək əsas class’dan inherit (miras) alır.
  • Multi-level (çoxsəviyyəli) Inheritance — class A əsas class Base-dən inherit alır, həmçinin class B də class A-dan inherit alır.
  • Hierarchical (ierarxik) inheritance — bir parent (valideyn) class’dan istənilən sayda child (uşaq) class inherit ala bilər.
  • Multiple Inheritance — bir child class birdən çox parent class’dan inherit ala bilər.
  • Hybrid Inheritance — iki və ya daha çox inheritance növünün birləşməsidir.

42. Hierarchical (ierarxik) inheritance nədir?

Cavab:

  • Bir base (əsas) class’dan bir neçə derived (törəmə) class’ın inherit almasıdır.

Output:

Base class'ında m1 funksiyasıA class'ında m2 funksiyası<__main__.A object at 0x0000015AFF0BED00>Base class'ında m1 funksiyasıB class'ında m3 funksiyası<__main__.B object at 0x0000015AFF0BECD0>

43. Neqativ (-) indeks nədir və niyə istifadə olunur?

Cavab:

  • Pythonda indekslər 0,müsbət və mənfi olur. 0 indeksi birinci elementi, 1 indeksi ikinci elementi və s. bildirir. Mənfi indekslərdə isə -1 indeksi sonuncu, -2 indeksi sonuncudan bir əvvəki və bu formada sondan başlayaraq davam edir.
  • Məsələn, print(a[:-1]) yazsaq, sonuncu element daxil olmamaqla, sonuncu elementə qədər çap edəcək. print(a[::-1]) yazanda isə, tərsinə sıralayaycaq.

Bir list götürsək:

mylist=[0,1,2,3,4,5,6,7,8]

Mənfi indekslə bir elementi çap edəndə sonuncudan başlayaraq, sayacaq.

mylist[-3]

Output: 6 (sondan 3cü element)

Mənfi indekslə element aralığı çap etmək istədikdə:

mylist[-6:-1]

Output: [3, 4, 5, 6, 7] (sondan başlayaraq 6cı element daxil olmaqla, 1ci elementə qədər (1ci element daxil deyil) çap edəcək.)

Tərsinə sıralasaq:

mylist[::-1]

Output: [8,7,6,5,4,3,2,1,0]

“mylist[:-1]” isə sonuncu element daxil olmadan ona qədərki elementləri gətirəcək.

44. Python’da funksional yönümlü proqramlaşdırmanı tətbiq etməyin bir neçə üsulunu izah edin.

Cavab:

Bir listdə fərqli məqsədlər üçün dövr etməyin bir neçə yolu var:

  • “filter()”: list üzərində istədiyimiz elementləri filter etməyə imkan yaradır.
list(filter(lambda x:x>5,range(8)))

Output: [6,7]

  • “map()” : bu funksiya list’in hər bir elementinə funksiya tətbiq edir.
list(map(lambda x:x**2,range(8)))

Output: [0, 1, 4, 9, 16, 25, 36, 49]

  • “reduce()” : bir nəticə alana qədər elementləri azaldır.

Output:

a=75, b=65, 75 + 65 = 140a=140, b=80, 140 + 80 = 220a=220, b=95, 220 + 95 = 315a=315, b=50, 315 + 50 = 365365

Lamda’dan istifadə edərək daha sadə yazsaq:

Output: 365

45. Python’da split(), sub(), subn() metodlarını izah edin.

Cavab:

  • Pythonda stringləri dəyişməyin bir neçə yolu var.

1. split() — bu method regex pattern’ə uygun olaraq verilmiş şərtə görə stringi bölür

2. sub() — bu methodda 2 parametr verilir, biri textdə dəyişmək istədiyiniz hissədir. Digəri isə dəyişmək istədiyiniz hissəyə nə qoymaq istəyirsiz.

3. subn() — bu method da eyni sub methodu kimi işləyir, eyni zamanda nə qədər dəyişiklik edibsə onun sayın da göstərir.

46. Python’da assignment (mənimsətmə) operatorlarını izah edin.

Cavab:

Pythonda xüsusi simvollarla işlənən bəzi operatorlar vardır. Bunu nümunələrlə daha yaxşı anlamaq olar.

1. ‘+’ operatoru.

a = 7a += 1a

Output: 8

2. ‘-’ operatoru.

a = 7a -= 1a

Output: 6

3. ‘*’ operatoru.

a = 7a*2a

Output: 14

4. ‘/’ operatoru.

a = 14a/2a

Output: 7

5. ‘%’ operatoru. (Bölmə zamanı qalığı göstərir)

a = 5a%2a

Output: 1

6. ‘//’ operatoru. (Bölmə zamanı tam rəqəmi göstərir)

a = 5a//2a

Output: 2

7. ‘**’ operatoru. (verilən rəqəmi qüvvətə yüksəldir.)

a = 5a**2a

Output: 25

47. Membership operatorları nədir?

Cavab:

  • Bu operatorlar ‘in’ və ‘not in’ operatorlarıdır. Məsələn bir textdə hər hansısa bir hərfin, bir listdə hər hansısa bir elementin olub olmamasını yoxlamaq üçün istifadə edilə bilər.
if 'y' in 'yusif':print(True)

Output: True

if 'x' not in 'yusif':print(False)

Output: False

48. Birləşdirmə nədir?

Cavab:

  • Pythonda ‘+’ operatoru ilə stringəri, listləri bir birinə birləşdirmək üçün istifadə olunur.
‘32’+’32'3232` [1,2,3]+[4,5,6] `[1, 2, 3, 4, 5, 6]
  • Burda diqqət etməli olduğumuz mövzu fərqli ata tipdə olan valueları bir birilə birləşdirə bilmərik.
(2,3)+(4) # burda error verəcək çünki, 4 integer olduğu üçün list ilə birləşdirə bilmərik.
  • Bunun üçün aşağıdakı kimi yazmaq olar.
` (2,3)+(4,) `(2, 3, 4)

49. Python kodu vasitəsilə MySQL database’indəki məlumatları necə əldə etmək olar?

Cavab:

50. Python case-sensitive’dir?

Cavab:

  • Bəli Python case-sensitive bir dildir. Bunu HTML ilə müqayisə edə bilərik. HTML’də “<p>” ilə “<P>” eyni mənanı verir. Yalnız Python böyük və kiçik hərfləri tanıdığı üçün ‘number’ variable’ni başqa yerdə istifadə edərkən ‘Number’ yazsanız Python error verəcək.

--

--