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

Mehman Mirzeyev
Pragmatech
Published in
23 min readNov 29, 2021

1. What is lambda? What are Lambda Functions ?

Lamda bizim yazdığımız funksiyalarla eyni vəzifəni daşıyır. Lambda -nın məqsədi səliqəli və strukturlu kod yazmaq üçün istifadə olunur. Çox qarışəq alqoritmi lambda vasitəsi ilə daha strukturlu və kod sətirini azalmağa imkan verir.

Məsələn :

Biz pythonda funksiya yazanda def funksiyaya ad və arqument verib iki qoşa nöqtə qoyurduq. Yəni :

Bu yazdığımız adi bir funksiyadır verdiyimiz “5” dəyərin i ikiyə vurur.

İndi isə lambda funksiyasına aid yazaq :

Lambda funksiyasını yazmaq üçün lambda daha sora arqument verib , funksiyanı çağırırıq. Lambda funksiyaları(funksiya yazanda ona verdiyimiz ad) qısa və adsız funksiyalar üçün istifadə edilir. Lamba funksiyasına 1-dən çox arqument(parametr) yaza bilərik. Yəni :

Lambda başqa funksiyaların içində də istifadə edə bilərik. map funksiyası parametr olaraq list və funksiya alır. Məsələn “map” funksiyası tətbiq edək :

Bu funksiyanın gördüyü iş list içində olan ədədləri alıb ikiyə vurub , list şəkilinə salıb çap etməkdir. Burda yazdığımız “list” sadəcə list halına gətirmək üçündür. Proses belə gedir. Numbers listindən rəqəmi götürür , onu ikiyə vurur və listə əlavə edir və ekrana list -ə rəqəmlərin ikiyə vurduqdan sora alınan nəticələri çap edir . Bu şəkildə başqa funksiyaların içində də tətbiq edə bilərik.

2. Explain split(), sub(), subn() methods of re module in Python.

Re — Regular Expressions

import re

Sintak olaraq aşağıdakı kimi istifadə edə bilərik. String üzərində başqa dəyişikliklərdə ola bilər. Misal olaraq bir neçəsini göstərə bilərəm.

Bu bu Python -un hazır kitabxanasıdır. String içərisində dəyişməyimiz lazım olan söz varsa onu dəyişdirmək üçün istifadə olunnur. Regex Expressions 4 funksiyası var :

  1. findall() — String -in içərisində tapmaq istədiyimiz sözü tapmaq istifadə olunur. Nəticəni list şəkildə qaytarır.

Məsələn:

2. search() -String -in içərisində istədiyimiz sözü axtarmaq üçün istifadə olunur . Nəticə olaraq true və ya false olan obyekt qaytarır.

3. split()- string -i bölmək üçün istifadə olunur . Məsələn :

Mən Python öyrənirəm adında string var buna spilt() funksiyasını tətbiq etsək sözləri parçalıyacaq.

Spilt metodu default olaraq boşluqlara görə string -in içindəkiləri parçalayır.

Yəni :

4. sub() — String içərisində olan istəlinən sözü hansısa character — ə dəyişmək üçün istifadə olunur. Məsələn Python sözünün yerinə “Django” bunu yazmaq istiyirik deyək , onda :

5. subn() — sub()-a bənzəyir və həmçinin nömrə ilə birlikdə sətri qaytarır

Yəni :

3. What is map function in Python?

Map çox istifadə olunan , və yazdığımız kodu səliqəli və az sətir sətir kod yazmağımıza imkan verən funksiyadır. Map parametrləri list və function -dur. Proses belə olur ki listə olan elementləri tək tək funksiyada yerinə qoyur və alınan nəticəni list şəkilində bizə qaytarır.

Misal olaraq :

Map işləmə prinsipi tam olaraq budur.

İndi isə map -dən istifadə edərək funksiyanı yazaq.

Yuxarıda qeyd etdiyimiz kimi map funksiyasının parametrləri list və function -dur. Ona görə onuncu sətirdə həm funksiyamızı , həm də list -i çağırdıq. Ama istədiyimiz nəticəni almadıq bunun səbəbi map funksiyasının özünə məxsus tipi var , ona görədə özəl map obyekti olaraq geri qayıdır. Çünki əgər biz istəsək bunu listə çevirə bilərik.

Burda sadəcə olaraq map funksiyasının qarşısında list yazmaqla biz həmin bu özəl map obyektini listə çevirmiş olduq.

4. What are assignment operators in Python?

Python -da assignment (mənimsətmə) operatorları deyərləri dəyişənlərə mənimsətmək üçün istifadə edilir. Bununla yanaşı arithmetic(hesab) operatorlardan da istifadə edərək praktik kodlar yaza bilərik.

Arithmetic operatorlar — riyazi əməllər üçün istifadə olunur .
Misal olaraq kod üzərində göstərək :

İndi isə assignment operatorları kod şəkilində baxaq :

5. What are membership, operators?

membership operatorlar — obyektə verilmiş dəyərlərdən ibarət ardıcılığı yoxlamaq üçün istifadə olunur. Parametrləri True və False — dur.

Misal olaraq :

6. Explain identity operators in Python.

Identity operatorlar məsələn iki dənə eyni list verilib, elementtərinin həmin listdə var və ya yox olamasını yoxlamaq üçün istifadə olunur.Bir sözlə müqayisə etmək üçündür. İki parametri var Ture və False qaytarır. İndentity operatora “is ” , “ is not” aiddir. Kod olaraq belə misal göstərmək olar :

7. Explain logical operators in Python.

Logical operator — şərti operatorlardır. Məntiqi ifadələrdə istifadə olunur. Bu operatora — “and” , “or” , “not” misal göstərmək olar .

and — bu operator ele yerdə işlənməlidir ki iki və ikidən çox şərt ödənsin . Məsələn :

or — Bu operatorda iki şərtdən biri düz(True) olmalıdr.

Məsələn :

not — operatoru hər iki şərt eyni deyilsə və düzdürsə , True qaytarır.

Məsələn :

8. What is a function?

Function — Yazdığımız bir kod blokunu bir neçə yerdə istifadə etmək üçün istifadə olunur. Kod təkrarını qarşısını almaq və səliqəli şəkildə kod yazmağımız üçün fuksiya yaratmaq bizim işimizi çox asanlaşdırır. Yəni məsələn tez-tez istifadə etddiyimiz kod sətirlərini funksiya içində bir yerdə yazmaqla və bizə lazım olan anda həmin funksiyanı çağırıb işlədə bilərik.

Python -da funksiyaların istifadə olunmasının bir başqa müsbət cəhəti hazır istifadə edə biləcəyimiz funksiyaların olduğu kitabxanalar var , funksiyanı sıfırdan özümüz yazmaq yerinə hazır olan funksiyanı istifadə edə bilərik.

Funksıyanın adlandırılması :

Funksiyanı çağırmaq üçün :

Burda göründüyü kimi bu funksiyamız hazırdı , istədiyimiz yerdə bunu çağırıb işlədə bilərik .

Funksiyalara parametr ötürmək :

Burda funksiyaya name parametri verdik və onu funksiyanın içərisində işlətdik .

Funksiyaya aid nümunə kodlar :

9. Differentiate between the append() and extend() methods of a list.

List- Bildiyimiz kimi bir çox elementi bir yerə toplamaq üçün istifadə olunur

dir(list ) yazmaqla list -in bütün metodlarını görə bilərik.

>>> dir(list)
['__add__', '__class__', '__contains__', '__delattr__',
'__delitem__', '__delslice__', '__doc__', '__eq__',
'__format__', '__ge__', '__getattribute__', '__getitem__',
'__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__',
'__init__', '__iter__', '__le__', '__len__', '__lt__',
'__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__',
'__repr__', '__reversed__', '__rmul__', '__setattr__',
'__setitem__', '__setslice__', '__sizeof__', '__str__','__subclasshook__',
'append', 'count', 'extend', 'index', 'insert', 'pop',
'remove', 'reverse', 'sort']

Append metodu -list -in sonuna element əlavə etmək üçündür.

Extend metodu- List — in sonuna yeni bir list əlavə etmək üçündür.

Append list -in sonuna tək element əlavə edir , amma extend isə list -in soununa yeni bir list əlavə edə bilir.

10. Why use function decorators? Give an example.

Decorator — Əslində bir funksiyadır yəni bizm yazdığımız funksiyalara bir xüsusiyyət vermək üçün istifadə olunur. Məsələn deyək ki bizim 50 dənə funksiyadan ibarət kodumuz var. Biz istiyirik ki hər bir funksiya nə qədər vaxta işləyir , bunun lazım olan kodları hər bir funksiya üçün ayrı-ayrı yazmaq lazımdır. Decorator bunun üçün var ki həmin funksiyaları onun içində yazıb sora hər funksiyada aktiv etmək üçün funksiyanın bir üst sətirində “@” qoymaqla aktiv edə bilərik. Yəni :

@decorator — decoratorun adı (istəlinən ad qoya bilərik)

def function(): — funksiya

İLk olaraq funksiyalarda : Dəyişkən olan bilən funksiyalar və funksiya içində funksiya anlayışından danışaq.

Dəyişkən(variable) olan bilən funksiyalar , funksiya kimi çağıra bilirik yəni :

Bu gördüyümüz adi bir funksiyadır çap etdi . İndi isə :

“a” dəyişəni bir funksiya oldu və nəticəni verdi.

Funksiya içində funksiya :

Burda gördüyümüz kimi iç içə funksiya yaratdıq . Yəni həm test həmdə test1 funksiyasını eyni vaxtda ekrana yazacaqdır. Bunu eliyən “print(test1())” funksiyasıdır. Nəticə olaraq iki funksiyanı iç içə yazmış olduq. Yəni biz test funksiyasını çağırdığımız zaman iki sözüdə ekrana yazdırır.

Burda arqumenti a olan dekorator(funksiya) yaratdıq .Yuxarıda qeyd etdiyimiz kimi iç içə funksiya yaratdıq. İçində wraper adında bir alt funksiya yaradırıq , daha sora yuxarıda təyin etdiyimiz a arqumentinin aktiv edirk. Bu bizim hazır funksiyadır hər hansı bir funksiya yazıb onun bu funksiyaları yerinə yetirməsi üçündür dekarotor. Nümunə olduğu kimi yazdır adında bir funksiyamız var və “@dec (delarotorun adı)” yazmaqla həmin funksiyanı yerinə yetirməsini təyin etdik. Bu dekoratoru arqumenti olmayan funksiya üçün yaza bilərik. Yəni:

Burda olan funksiyada niyə xəta verdi ?

Çünki biz bunu ancaq yuxarıda a funksiyasına arqument verməmişik yəni a() boş qəbul etməlidir. Ona görə xəta verir ki dekarotar arqument yoxdu ama biz arqument daxil etmişik. Bunu problemi arqument alan funksiya ilə aradan qaldıra bilərik . Nümunə :

*args — sayını bilmədiyimiz arqumentlər üçün yazılan xüsusiyyətdir. “*args “köməyi ilə istəlinən sayda arqument təyin edə bilərik. Buna görə aşağıda yazdığımız funksiya işlədi çünki funksiyada nə qədər arqument ala bilər bildrmişik.

Arqument alan dekarotor da yaza bilərik. Yəni:

Burda dekoratorun özünə arqument təyin etdik , “msj1- Start , msj2- End” , alınan “8” isə funksiya üçün təyin etdiymiz arqumentin nəticəsidir. Burda həm dekarotor üçün həmdə funksiya üçün təyin etdik.

11.Is Python interpreted or compiled?

İlk öncə interprered və compiled nədir onu izah edək.

interpreter — proqlamlaşdırma dillərində yazılmışdır , qaynaq kodu aralıq dilə tərcümə edib sonra icra edən proqramdır. İnterpretator bütün qaynaq kodunu bir dəfəyə maşın dilinə çevirir və obyekt modulu yaratmır . İnterpretator qaynaq kodunu sətir-sətir maşın koduna çevirir. Bir sözlə bizim yazdığımız kodu sətir sətir maşın koduna tərcümə edir.

İnterpretatorların müsbət cəhəti:Əməliyyat Sistemlərindən asılı olmaması.

İnterpretatorların mənfi cəhətləri:

  1. Proqramın işləməsi üçün kompüterdə interpretatorun olması.
  2. İşləmə sürətinin nisbətən aşağı olması.

İnterpreter yazdığımız kodu sətir sətir oxuduğu üçün məsələn 10 sətir kod yazmışıq deyek , 5 ci sətirdə səhv yazmışıqsa proqram 5 ci sətirə kimi işləyib dayanacaq və həmin sətirdə xəta verəcək.

Compiler-kompilyator bütün qaynaq kodunu bir dəfəyə maşın dilinə çevirərək obyekt modulunu meydana gətirir. Əldə edilən binar kod əməliyat sistemi tərəfindən icra olunur.

Kompilyatorların müsbət cəhətləri:

  1. Kompilyasiya edilən proqramların daha sürətli çalışması.
  2. Əldə edilən binar kodun çalışması üçün kompilyatora ehtiyac qalmaması.

Kompilyatorların mənfi cəhəti: Əməliyyat Sistemlərindən asılı olması.

Compiler — misal olaraq C , C++, C#, Java dillini misal göstərmək olar.

Nəticə olaraq Python interpreter dildir.

12. What are generators in Python?

Generator — Listlərə oxşayan obyekt növüdür. Generatorlardan istifadə etməklə listlərdən daha səmərəli istifadə edə bilərik. Yəni generatorda istifadə edəndə kompüterin yaddaşında (RAM) listlərə nəzərən daha az yer tutmuş olur. Generator list hamsın birdən çap etmir ekrana , tək- tək ekrana çap edir.Tutaq data sayı böyük olan list var onu hamısı print etmək həm prosess uzun çəkir həmdə yaddaş da çox yer tutur. Bir dəyər print etdikdən sora digər printin etdikdə generator ona kömək edirdiki 1 ci çap etdiyimizi yaddaşdan silir və 2-ci çap etdiyimiz dəyəri onun yerinə yazmış olur. Beləliklə çox datası olan bir list yaddaşda az yer tutur.

13. OS Module

Əməliyyyat sistemi kompüteri idarə edən proqram təminadır. Əməliyyat sistemlərinə Lİnux , Windows və sairə misal göstərmək olar . Bu əməliyyat sisitemlərin işləmə məntiqləri ayrıdı. Biz əgər fərqli əməliyyat sistemlərində işləyən proqram yazmaq istəsək onda gərək hər əməliyyat sistemi üçün proqram yazılmalı idik , ancaq os modulu bunun üçündür. Yəni istəlinən əməliyyat sistemini python içərisindən idarə etməyə imkan verir.

Bu modulu istifadə etmək üçün birinci os modulunu import edirik.

import os

Os moduluun metodlarını görmək üçün :

dir(os)

os.name — hansı əməliyyat sistemində olduğunu göstərir.

Əgər “nt” nəticəsini alsaq deməli windows , “tosics” nəticəsi olsa linux əməliyyat sistemi olduğunu bildirir.

os.getcwd () — hal hazırda işlədiyimiz folderi göstərir.

os.chdir( “folderin yerin göstərməliyik”) — Başqa folder -ə keçid etmək üçündür.

os.rmdir( “folderin yerin göstərməliyik”) — Seçdiyimiz folder -i silmek üçün istifadə edirik.

os.listdir()- Folder -in içində olan bütün faylları göstərmək üçün. və ya

os.listdir(“.”) , os.listdir(os.curdir)

os.startfile( ‘’example.txt”) — Açmaq istədiyimiz fayl üçün os.mkdir( “folder -in adı”) — Yeni folder yaratmaq üçün

os.rename (“example.txt” , “test.txt”)- İstədiyimiz fayl adın dəyişmək üçün istifadə edirik. Birinci dırnaqda dəyişmək istədiyimiz fayl adı , ikinci dırnaqda yeni adını yazırıq.

os.stat( “folder -in adı ” ) — İstədiyimiz folder haqqında məlumat almaq üçün

os.system( “ notepad.exe”)- sistem komadlarını və ya başqa proqramları işlətmək üçün istifadə olunur.

14. Explain help() and dir() functions in Python.

Python -da help funksiyası — modulların , funksiyasıların, class -ların , keywords -in haqqında documentation(məlumat) əldə etmək üçündür .Yəni məsələn print funksiyası üçün deyek help funsksiyası köməyi ilə print funksiyası haqqında məlumat əldə edirk.

Məsələn :

dir () — funksiyası bir obyektə aid atribut və metodalrın siyahısını qaytaran python funksiyadır.

Məsələn :

15.What is a dictionary in Python?

Python- da dictionary key və value saxlamaq üçün istifadə olunur.

Dictionary- Json -a çox bənzəyir. Dictionary list -ə key və value görə tapıb dəyişiklik edə bilərik.

Məsələn :

Dictionary elementlərinin aldığı dəyəyrləri görmək üçün [] və ya get() ilə edirik.

16 .What is the pass statement in Python?

Python -da pass funksiyası null dəyəri mənimsətmək üçündür. Python- da pass ifadəsi hansısa funksiyamın içində yazılanda o funksiyanı yox sayır.Məsələn deyək ki bir funksiya yazmışıq , və ya döngü , class ola bilər. Amma məsələn bu funksiyanı və ya class -ı sonra istifadə etmək istəyirik. Bu funksiyanı və ya döngünü boş saxlasaq bizə xəta verəcək. Buna görə də pass funksiyası ilə heç bir şey etməyən , yəni bizə xəta vermiyəcək funksiya , class yaza bilərik .

Nümunə olaraq :

  1. döngülərə aid :

2. class və ya funksiya :

17.How will you capitalize the first letter of a string?

Capitalize() funksiyası heç bir parametr qəbul etmir. capitalize- metodu string bütov qaytarır və string -in bütün hərflərini balaca yazarkən , ilk hərfin böyük yazır.

18.What are the Packages?

İlk öncə paket nədir ?

paket — belə düşünə bilərik ki, məslən kompüterimizdə necə şəkilləri bir folder -də saxlya bilərik. Python-da hazır kodlardan ibarət folder -lər var ki, onları install edib istifadə edə bilərik. Bu paketlər bir layihənin rahat və tez yazılması üçün istifadə olunur. Yəni paket -hazır yazılmış kodların toplandığı yerdir.

Python paketlərinə misal olaraq :

  1. Django

Python -un ən yaxşı paketidir. Bu paket ala biləciyimiz ən yaxşı və daha çox funksiyaları olan bir paketdir.İri və çox funksiyalı layihələrdə istifadə olunur.

2. PyMongo

MongoDb müasir , dinamik, tez-tez yenilənən data saxlamaq və onu idarə etmək üşün python-nun ən yaxşı SQL yönümlü kitabxanasıdır.

3. PYgame

PYgame — Python -nun ən yaxşı oyun yazmaq üçün paketdir.

4. BeautifulSoup4

Bu Python paketi ilə HTTPS daxil olmaqla hər cür veb sorğuları edə bilərik. İstifadə rahatlığına görə ən məşhur Python modullarından biridir. 19.In Python what are iterators?

İteration — addımlamaq deməkdir. Obyekt dəyərlərini tək tək oxuyub dövr tamamlamaq üçündür.

İterable — Üzərində addımlaya bilmək deməkdir .Yəni dövrdə istifadə oluna biləcək obyektlər bura aiddir. Misal olaraq list , string və.s

İterator — Həmin bu addımla işini görən obyektdir. Bütün dövürdəki dəyərləri hamsını tək tək oxuyur və dövr harda qaldığını unutmur. Yəni aşağıdakı nümunədə kimi 1 oxuyur daha sora 2 belə ardıcıl olaraq.

Burda göründüyü kimi sadə bir dövr yazmışıq və normal olaraq oda ekrana 1, 2, 3 yazdırıb. Burda olan print içində yazdığımız rəqəm ilk öncə 1-in yerinə keçir , ekrana 1 yazdırır daha sora 2-in yerinə keçir , ekrana 2 yazdırır , son olaraqda 3-ün yerinə keçir və ekrana yazdırır. Dövr bitir.

Biz burda indi həmin rəqəmlər list -nə iterable deyə bilərik çünki dövrdə istifadə edə bildik. Məsələn tipini bilmədiyimiz bir şeyin “iterable” ola biləcəyini harda bilərik? Nümunə:

Bu bizə rəqəmlər obyekti üçün istifadə edə biləciyimiz metodları göstərir. Burda da “__iter__” metodu yazılıb iterable olduğunu burdan bilirik. “__iter__” — Bir iterator qaytırır . Yəni :

Yaratdığımız list olduğu üçün bizə list_iterator qaytarır.

Nəticə: Bir obyekt yaratmışıqsa onun metodlarının arasında __iter__ varsa deməli bu obyekt iterable obyektdir , dövrlərdə istifadə oluna bilir.İter metodunu işə saldığımız zaman iterator yaratmış oluruq. Bu İterotor -u yaradan isə next metodudur. Yəni yuxarda yazdığımız list içində olan dəyərlər 1 dən sora 2 -ə necə keçəciyini bildirən metoddur. Next metodu çağırıdıqda iterotar bir sonrakı dəyər keçir.Yəni:

Bir dəfədə proqramı run etsək qaldığı yerdən davam edəcək.Yuxarıda qeyd etdiyimiz iterator harda qaldığını yadında saxlıyır və ordan davam edir. Yəni :

Əgər yenə davam etsəm bu səhvi çıxaracaq yəni dövrdən çıxmış olacaq. Çünki list 3 rəqəm daxil etmişik. Yəni :

Nəticə : Biz for dövrü yaratdığımız zaman həmin dövrü üçün olan obyektin iter metodunu çağırır. İter metodu bizə iterator verir (nümünə olan i_rəqəmler yəni) , həmin bu dövr bir xəta verənə qədər next metodunu çağırır və dövr qutaranda yəni yuxarıda olan kimi xətanı tapır və dövr bitir .

20. What is virtualenv?

Virtual environment — Fərqli proyektlərdə hazır paccage yükləyə biləciyimiz və onlari rahatlıqla idarə edə biləcəyimiz yerdi.

Yəni bizə lazim olan paccage yükləyib istifadə edirk.

Package (paket) yükləmək haqqında bəzi məqamlar var .

Python -un ən çox istifadə oluna iki framework var. Django , Flask

üzərindən izah edim. Env libary -in içərisində həmin bu paccakege -lər olmadığı üçün özümüz install etməliyik. Bunuda pyhton -nun öz lib qovluğuna bilərik və ya hər hansı bir yazacağımız layihə üçün yükləyə bilərik . Amma belə bir məqam var ki deyək eyni lib -dən istifadə edərək bir neçə proyekt yazmasıq . Tutaq ki Flask istifadə edirk və Flask (2.0.1) versiyadadır Flask özünə məsələn bir yenilənmə gəlsə , həmin proyektlərin hamsında yeni gələn versiyanı istifadə etmək istəməsəm mənə problem yarada bilər , çünki qaynaq eyni olduğu üçün hamsında eyni versiyanı istifadə etməyə məcbur olursan. Çünki Flask yeniləyəndə bütün proyektlər üçün eyni versiya istafadə edəcəkdir. Ama hər proyekt üçün ayrı-ayrı env yaradıb Flask və ya Django yükləsək , heç bir problem olmayacaq.

Hər proyektdə ayrı-ayrı (Flask ) yükləmək deyəndə yəni Python icazə verir ki biz hər bir proyekt üçün virtual environment (Lib) yaradaq və asanlıqla həmin bu Flask package həmin virtual environment içərisinə yükləyə bilək. Hər proyekt üçün mənə lazım olan package virtual environment yükləyə bilərəm.

Misal göstərim məsələn a proyektim — Flask(2.1.0) ilə digər proyektim Flask(2.1.1) ilə işləməsini bu yolla təmin edə bilərəm.

İlk olaraq virtual environment dediyimiz şeyi ptyhon vaistəsilə yaratmalıyıq . Bunun üçün həmin bu

virtual environment yaratmaq üçün pythonda kodlar var.

1. Terminalı açırıq. (git bash , cmd fərqi yoxdur.)

2. py -m venv env

Və ya

pyhton3 -m venv env (linux əməliyyat sistemi üçün)

py -m venv və ya pyhton3 -m venv env -bu environment qurmaq üçün komandadır .Məndə linux əməliyyat sistemi olduğu üçün kodum

pyhton3 -m venv env şəkildədir.

env — yaradacağımız environment qovluğunun adıdır (istəlinən ad qoyula bilər env yazılan yerə ) env və ya venv qoymaq daha məqsədə uyğundur. Ən azından digər qovluğlarların adı ilə üst üstə düşməz.

2. Activate

. env /scripts/activate

env — Həmin bu yaratdığımız environment adıdir. Onun içərisində Scripts adında qovluğ var və burda gördüyümüz “activate” komandası var. Bu şəkildə environment aktiv edirik. Aktiv olduğunu hardan bilərik?

Kodun sonunda (env) var bu deməkdie ki “env”( environment adı) aktiv oldu. Artıq bundan sora yüklənən package -lər “Lib” qovluğuna yüklənəcək. Package olaraq Flask yükləcəyik. Bunu üçün belə bir komada var

pip install Flask

pip — Buda bir package -dir , “Lib” qovluğunda hazır şəkildə gəlir, “pip” — hazır package yükləmək üçün komanadadır , pip -in içərisndə install komandası olur. Bu kodun mənası budur.

Göründüyü kimi Flask yükləmiş olduq. İndi həmin Lib” qovluğuna baxsaq orda flask faylını görə bilərik:

Linux əməliyyat sistemində isə lib folder -in adı bin folderin olduğu üçün :

Burda activate etməmək üçün :

. env /bin/activate

Bu dəfə env — ə django yükləmiş olduq.

21. How to make array in python?

Array(list) —Python -da çoxlu elementi özündə saxlayan dəyişkəndir.

Array (list) yaratmaq:

list=[]

Array aid misal göstərək :

22.Why do we write __name__ == "__main__" in a python script ?

1 ci sətirdə yazdığımız kod odu ki biz flask package içərisindən Flask classını istifadə edirik.

2 ci sətirdə (__name__) — hansı fayl əsas fayıldırsa onu bunun içinə göndər yəni bu parametrin yerinə yetirdiyi vəzifə odur ki , aşağıda yazdığımız kodları götürür Flask class -nın içinə parametr kimi göndərir və Flask özünə uyğunlaşdırır. Nəticədə biz ekranda yazını görürük.

app=Flask(__name__) — Class -dan app adında obyekt yaradırq. Obyektin adı istəlinən ad ola bilər.

@app. route — yadığımız funksiyanı icra edən , update, delete , add etmək , səhifələrə göndərmək üçün istifadə olunur. Yəni burda yazdığımız funksiyanı işə salan route -dur. Return isə sadəcə yazdığımız dəyəri bizə qaytarmaq üçündür.

İf __name__ == ‘__main__ ’:
app.run(debug=True)

Əgər biz aktiv bir modulun üzərində işləyiriksə __name__ parametrinin return bizə __main__ qaytardığı üçündür. Yəni bu şərt ödənirsə(bu modul əsas modulumdusa) application işlət.

2 ci sətirdə yazılan kod application run etmək üçündür. Yuxarıda yaratdığımız app obyektini burda run edirik. Burda run bir metoddur və Flask class -nın içərisindədi , çünki app obyekti özü bu class -dan yaranıb. Yazdığımız debug= True debug özü run metodunun paremetridir. Bunun sadəcə application -da nəsə xəta verəndə onu göstərməsi üçündür. O olmasa belə run olunur.

23.What is Python?

Python dinamik dildir , C dilləri ailəsinə daxildir. Python C# , C++ , Java kimi dillərdən fərqli olaraq daha az addımda kodlama etməyə kömək edir. Yəni hər hansı bir məsələni C++ və ya digər dillərdə məsələn 50 sətir kod yazırıqsa Python da kod sətiri nisbətən az olur. Niyə Python diyə soruşsalar ona bele bir cavab verə bilirəm ;

1.Məlumt çox olması — Python çox məqsədli dildir. Buna görədə istilənən mövzuda qaynaq tapa bilərsiz.

2.Anlaşıqlı olması — Sintaksı sadə bir dildir. Digər dillərə nisbəti daha tez və asan öyrənilə bilən dildi.

3. Open source (Açıq qaynaq) — Bu dil haqqda istəlinən kitabxana və paketlər ödənişsizdir.

24.What is a Tuple?

Tupple -listlərə oxşuyur . Amma fərqləri var :

Fərqlərindən biri tupple — () tanımlıyırıq. List isə [] ilə tanımlıyırıq.

Tupple list kimi element verə bilərik , string və ya integer.

Tupple içərisində olan hər hansı elementi dəyişmək olmur. Ama list -də bu mümkündür.

Göründüyü kimi list -də elementi dəyişmək olur.

İndi isə tupple baxaq :

25.What is the structure of a for loop?

For döngüsü yaratdığımız istər string , istər list -də həmin məsələn burda biz list vermişik list içərisindəki elementlərin bitənə qədər onu yoxluyur.Element bitən kimi döngü sonlanır.

26.What is the structure of a while loop

while loop — Döngü qurmaq üçün istifadə olunur , hansıkı bir funksiya yazmışıq deyək bu funksiyanın təkrarlanmağını istəyirik . Bunun üçün döngülərdən istifadə edirik. Əgər heç bir şərt verməsək döngü dayanmır və sonsuz olaraq eyni əmmələri yerinə yertirir.Döngü şərtə görə hərəkət edir verdiyimz şərt əgər True -sə döngü təkrarlanır əksi olduqda döngü dayanır.

Misal olaraq :

Bu sadə bir while döngüsüdür. Burda i=0 ilə başlayır. Sora gəlir print içindəkiləri ekrana yazdırır, burda hələ i=0 -a daha sonra i -ni 2 vahid artırdıqdan sonra while şərtinə gəlir , şərt ödəyənə kimi yəni i onda kiçik alınan qədər funksiya işləyir şərt ödənmədikdə yəni 10 -dan böyük rəqəm alınsa , şərt ödənmədiyi üçün dayanır.

27. What is Flask & its benefits?

Flask python frameworküdür. Flask vasitəsilə sadə və kiçik həcmli web layihələri yazmaq üçün istifadə olunur. Web serverlərdə tez nəticə almaq üçün Flask -dan istifadə olunur. Flask performans cəhətdən yüksək olan və öyrənilməsi nisbətən asan öyrənilə bilən frameworküdür.

Flask müsbət cəhətləri:

  1. Son dərəcə rahat.
  2. Öyrənilməsi və istifadə olunması asan
  3. Url istiqamət vermək asan.

Flask -də html fayllarına müdaxilə etmək olur. Bunun üçün jinja -dan istifadə edirk

Flask vasitəsilə hər hansı website üçün admin paneldən məlumat əlavə etmək üçün html -də database-dən datanı çəkib göstərmək üçün istifadə olunur. Bir növ html ilə database arasında əlaqə qurmağa kömək edir.

misal olaraq olaraq :

Həmçinin hansı sətirdə xəta baş versə onu göstərməsi üçün Werkzeug və jinja köməyi tez aradan qaldəra bilərik.

28. Mention five benefits of using Python?

  1. Sadə dildir, buna görə öyrənmək daha asandır

2.Python k hər bir OpenSource -du hər mövzuda məumat asanlıqla tapılır

3.Daha səliqəli kod ardıcıllığına malikdir.

4. Kodları insan dilinə yaxındı və rahtalıqla anlaşılır

5. Python-un çox funksiyalı kitabxanaları və framework-ləri var.

29. How do you calculate the length of a string?

Bunu etmək çox sadədir. Hansı süzün uzunluğunu ölçmək istyirksə, len() funksiyasını çağırırq.

30. What is a Counter in Python?

Count — say deməkdir. Bu funksiya saymağa kömək edir , list-ə aid funksiyadır. BY funksia köməyi ilə məsələn list yaratmışıq içində a elementindən neçə dənə var ? Bunu öyrənmək üçün istifadə olunur.

list.count(obj)

obj-List-ə sayılacaq obyeklərin arqumentləridir.

31.What is the Encapsulation?

Encapsulation — Bəzi hallarda class -ın içində olan dəyişənlərin(variables) bir başa dəyişdirməmək lazım ola bilər . Bunu niyə edirik?

Ona görə edirik ki həmin dəyərin kimsə dəyişdirə bilməsin. Kənarda həmin dəyərə müdaxilə edilməsinin qarşısını almaq üçün bu prinsipdən(. encapsulation) istifadə edirik. olunur. Misal olaraq belə izah edim ;

İLk öncə BankAccount adında bir class yaratdım. Daha sonra Constructor yazdım içərisinə “Name” və “Money” olan dəyərlər mənimsətdim, normal proqramı işə saldıqda məlumatlar görünür və dəyişdirilə bilir . Yəni:

Biz eləcəyimiz bu dataları “private” etməkdir .Bunun üçün self -dən sonra tanımdağımız dəyərlərin qabağına “__” qoymaq kifayət edir. Gördüyünüz kimi xəta verəcək . Çünki artıq o data “private” oldu.

Burda money dəyərinin yanına “__” artırdığım üçün belə bir dəyər yoxdu xətasını çıxarır. İndi isə həmin dəyərləri görmək dəyişdirmək üçün “get, set” keyword istifadə edirik.

32. What is inheritance?

İnheritance(Miras)- Bu prinsip də tutaq ki bir class yaradırıq , içində dəyişkənlər, metodlar yazırıq. Başqa bir class yaradanda sonra əgər bu class istifadə edecəmsə yenidən eyni şeyləri yazmıram , inheritance edirəm . Bir növ bir qəlib hazırlayıb sora həmin qəlibdən başqa class da istifadə edirəm.İnheritance da iki fərqli class növü var parent(super) və child(sub).

Child class parent class -ın atributlarını istifadə edən alt class dır.

Burda bir transport adlı class yaratdıq bu class parent adlanır. Digər class olardan törəyir və eyni dəyərli alır. Çünki Transport class mənimsətmisik child class -a

33. Explain the //, %, and ** operators in Python.

1. //- İki ədədi bir birinə böldükdə tam hissəni (integer ) hissəni göstərir.

Yəni float hissəni göstərmir. Normalda 22-ni üçə böləndə 7,33333333 alınır.

2.% Operatoru qalıqlı bölünmədə qalığı görmək üçündür.

3. ** — Ədədi qüvvətə yüksəlmək üçündür.

34. How would you declare a comment in Python?

Python-da comment-ə almaq üçün klaviaturadan ctrl+/ eyni anda basılı saxlamaqla istəlinən sətiri comment-ə ala bilərik.

35. What functions or methods will you use to delete a file in Python?

Bunun üçün iki metod var : remove() və unlink()

İlk oncə os modulunu import edirik.

36. What is a docstring?

Docstring metod və ya funksiyanın içərisində yazılır. Funksiyanın və ya metodun nə iş gördüyünü göstərir.

docstring- üç ədəd tək və ya cüt dırnaq içərisndə yazılır. Docstring böyük hərflə başlamalıdır. Birinci sətir qısa olmalıdır. Docstring -də daha çox sətir varsa onda ikinci sətir boş olmalıdır.

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

37. Is Python object oriented? what is object oriented programming?

Python obyekt yönümlü proqramlaşdırma dilidir. OOP class’lara və obyektlərə əsaslanır.OOP xüsusiyyətlərinə Encapsulation, Data Abstraction, Inheritance, Polymorphism aiddir.

38.When would you use a break statement in a for loop?

Döngünü sonlandırmaq üçün break -dan istifadə olunur.

39. Write a Python program to calculate the sum of a list of numbers.

List-də olan rəqəmlərin cəmini tapmaq üçün sum metodundan istifadə edirik.

40. Suppose list1 is [2, 33, 222, 14, 25], What is list1[-1] ?

List -in soununcu elementini almaq üçün -1 index -ə görə tapırıq.

41. How do I convert a number to a string?

Rəqəmi string-ə çevirmək üçün str() metodundan istifadə edirik.

number =5

string=str(number)

42. Suppose list1 is [2, 33, 222, 14, 25], What is list1[-1] ?

Lİst içərisində index -1 olan element list-in sonuncu elementidir.Ona görə indeksi -1 olan element 25 dir.

43.What are negative indexes and why are they used?

Python-da listlərdə indekslər müsbət və mənfi olur. List-də birinci element 0 ci indeksdən başlayır.Müsbət olan rəqəmlər birinci indeks kimi istifadə edilən ‘0’ və ikinci indeks olaraq ‘1’ istifadə edir və proses belə davam edir.Mənfi ədədin indeksi list-in sonuncu indeksini təmsil edən ‘-1’ və sondan əvvəlki indeks kimi ‘-2’-dən başlayır və list -in müsbət indexsinə kimi gedir.Mənfi index adətən listə yeni əlavə olunmuş elementi silmək üçün istifadə edilir.

44. How do you get a list of all the keys in a dictionary?

Python-da dictionary çoxlu elemntləri bir yerdə saxlamağa imkan verir.Dictionary özündə keys dəyəri saxlayır.

keys() funksiyası:

45.Write a sorting algorithm for a numerical dataset in Python.

Dataset list formasında olan data tipdir. List olduğu üçün sort() metodu ilə sıralıya bilərik.Sort metodu kiçikdən böyüyə doğru sıralıyır.Əksi üçün sort(reverse=True) yaza bilərik.

Əksi üçün :

46.What is the output of the following?

x = [‘ab’, ‘cd’]
print(len(list(map(list, x))))

Burda 2 element var və len metodu list-in uzunluğunu taparıq deyə oda nəticə olaraq 2 verir. Çünki list-in uzunluğu ikidir.

47.What is Tkinter?

Tkinter Python kitabxanasıdır. GUI (graphical user interface) üçün hazır moduldur. Əsasən, masaüstü proqramları üçün istifadə olunur.Rənglər, şriftlər, ölçülər və kursorlar kimi atributları mövcuddur.

48.How can you declare multiple assignments in one statement?

--

--