CodeGym /Kurslar /Python SELF AZ /Modulların import olunması

Modulların import olunması

Python SELF AZ
Səviyyə , Dərs
Mövcuddur

1.1 Modullarla Tanışlıq

Python-da modul — .py genişlənməli bir fayldır, koddan ibarətdir. Modullar böyük kodu daha kiçik, idarə edilə bilən hissələrə bölməyə imkan verir. Hər bir modul funksiyalar, siniflər və dəyişənlər saxlaya bilər, həmçinin idxal edilən zaman müəyyən bir kodu yerinə yetirə bilər.

Sadə modul nümunəsi

mymodule.py adlı modul yaradaq:


# mymodule.py

def greet(name):
    return f"Salam, {name}!"
            
pi = 3.14159
        

İndi bu modulu digər faylda idxal edib istifadə etmək olar.

1.2 Modulları import etmək

Python modulları import etmək üçün bir neçə üsul təqdim edir. Bunları bir-bir nəzərdən keçirək.

Bütün modulu import etmək

Bu əməliyyatın ümumi sintaksisi belədir:


import modul

Bu üsul bütün modulu import edir və siz onun funksiyalarını və dəyişənlərini modulun adını göstərərək istifadə edə bilərsiniz.


import modul

print(modul.greet("Alice"))  # Çıxış: Hello, Alice!
print(modul.pi)  # Çıxış: 3.14159
        

Biz əvvəllər math modulu ilə bənzər bir şey etməmişdik? Yadınızdadır?


import math

print(math.ceil(13 / 7))  # yuvarlanma yuxarıya
print(math.floor(13 / 7))  # yuvarlanma aşağıya
        

Moduldan xüsusi elementləri import etmək

Siz moduldan hər şeyi yox, yalnız bəzi elementləri import edə bilərsiniz. Bu əməliyyatın ümumi sintaksisi belə görünür:


from modul import funksiya, dəyişən

Bu üsul moduldan yalnız müəyyən funksiyaları, sinifləri və ya dəyişənləri import edir və onların adını modul adı göstərmədən istifadə etməyə imkan verir.


from mymodule import greet, pi

print(greet("Bob"))  # Çıxış: Hello, Bob!
print(pi)  # Çıxış: 3.14159
        

Modulu ləqəb ilə import etmək

Bu əməliyyatın ümumi sintaksisi belədir:


import modul as ləqəb

Bu üsul modulu import etməyə və ona başqa bir ad təyin etməyə imkan verir ki, bu da uzun modul adlarının qısaldılması və ya ad konfliktlərinin həlli üçün faydalı ola bilər.


import mymodule as mm

print(mm.greet("Charlie"))  # Çıxış: Hello, Charlie!
print(mm.pi)  # Çıxış: 3.14159
        

Moduldan bütün elementləri import etmək

Bu əməliyyatın ümumi sintaksisi belədir:


from modul import *

Bu üsul moduldan bütün funksiyaları, sinifləri və dəyişənləri import edir ki, onları modul adını göstərmədən istifadə edə biləsiniz. Lakin bu metodu istifadəsi tövsiyə edilmir, çünki bu ad konfliktlərinə səbəb ola bilər və kodun oxunmasını çətinləşdirə bilər.


from mymodule import *

print(greet("Dave"))  # Çıxış: Hello, Dave!
print(pi)  # Çıxış: 3.14159
        

1.3 İmport prosesinin pərdəarxası

Modul axtarışı sırası

Modul import edəndə, Python onu müəyyən bir sırayla axtarır:

  1. İndiki qovluq: Python əvvəlcə modulu skriptin işə salındığı indiki qovluqda axtarır.
  2. Ətraf mühitin PYTHONPATH dəyişəni: Modul indiki qovluqda tapılmadıqda, Python onu ətraf mühitin PYTHONPATH dəyişənində göstərilən qovluqlarda axtarır.
  3. Standart qovluqlar: Əgər modul hələ də tapılmırsa, Python onu sys.path-də göstərilən qovluqlar kimi standart yerlərdə axtarır.

Nümunə:


import sys

for path in sys.path:
    print(path)
        

Lokal və qlobal import

Modulları həm qlobal səviyyədə (faylın əvvəlində), həm də lokal səviyyədə (funksiya və ya metod daxilində) import etmək olur.

Qlobal import

Qlobal import faylın əvvəlində edilir və import edilmiş modulu bütün faylda əlçatan edir.


import math

def calculate_circle_area(radius):
    return math.pi * radius ** 2
        

Lokal import

Lokal import funksiya və ya metod daxilində edilir və import edilmiş modulu yalnız həmin funksiya və ya metodda əlçatan edir.


def calculate_square_root(x):
    import math
    return math.sqrt(x)
    
print(calculate_square_root(16))
        

Lokal import modulun yüklənmə vaxtını azaltmaq və ya adların toqquşmasının qarşısını almaq üçün faydalı ola bilər.

1.4 Dinamik import

Dinamik import modulları proqramın icra olunması zamanı import etməyə imkan yaradır. Bu, modulları istifadəçi daxil etməsi və ya digər dinamik şərtlərə əsasən import etmək lazım olduqda faydalı ola bilər.

Bu əməliyyatın ümumi sintaksisi belədir:


module = __import__("modul")

Gəlin nümunə kimi math modulunu bu üsulla import edək.


module_name = "math"
module = __import__(module_name)
print(module.sqrt(16))  # Çıxış: 4.0

Sonrakı kodla işləmək import as istifadəsinə bənzəyir, burada math moduluna module ləqəbi verilir.

1.5 Modula aid atributlara getattr funksiyasından istifadə etməklə giriş

getattr funksiyası obyektlərdən və ya modullardan dinamik olaraq atributları əldə etməyə imkan verir. Bu, atributların adlarının əvvəlcədən məlum olmadığı və ya proqramın icrası zamanı dəyişə biləcəyi hallarda faydalı ola bilər.

getattr funksiyasının sintaksisi:


getattr(object, name, default = None)

Burada object — atribut götürüləcək obyekt, name — atributun adını əks etdirən sətir, və default — atribut göstərilən adla mövcud olmadıqda geri qaytarılan standart dəyər. default parametrinin standart dəyəri — None-dır.

getattr funksiyasının istifadəsinə nümunə:


import math

# math modulundan sqrt atributunu götürürük
sqrt_function = getattr(math, 'sqrt')

print(sqrt_function(25))  # Çıxış: 5.0

# Mövcud olmayan atributu götürməyə çalışırıq, standart dəyəri geri qaytarırıq
non_existent_attr = getattr(math, 'non_existent', 'default_value')

print(non_existent_attr)  # Çıxış: default_value
        

Bu nümunədə biz getattr funksiyasını istifadə edərək math modulundan sqrt funksiyasını götürürük və sonra bu funksiyanı 25-in kvadrat kökünü hesablamaq üçün çağırırıq. Əgər göstərilən adla atribut mövcud deyilsə, standart dəyər default_value geri qaytarılır.

Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION