CodeGym /Kurslar /Python SELF AZ /Parametrlərlə qabaqcıl iş

Parametrlərlə qabaqcıl iş

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

11.1 Sonsuz sayda parametrlər

Python-da funksiyalar sonsuz sayda parametr qəbul edəcək şəkildə tərtib oluna bilər. Bu, adi parametrlər üçün *args və adı ilə müəyyən edilmiş parametrlər üçün **kwargs vasitəsilə ötürülən arqumentlərin köməyi ilə əldə edilir.

*args-dan istifadə

*args, funksiyaya istənilən sayda mövqe arqumenti qəbul etməyə imkan verir və funksiya bunları tuple kimi qəbul edəcək. İstifadə nümunəsi:


def print_all(*args):
    for item in args:
        print(item)
        
print_all(1, 'alma', True)  # 1, alma və True yazacaq.
        

args dəyişəni funksiya çağırışında ötürülən bütün parametrləri əhatə edən tuple saxlayacaq.

**kwargs-dan istifadə

**kwargs, *args-a bənzər formada işləyir, lakin adla müəyyən edilmiş arqumentlər üçün və dictionary şəklində təqdim olunur. Bu, funksiyaya istənilən sayda adlandırılmış arqument qəbul etməyə imkan verir:


def print_named_items(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")
        
print_named_items(fruit='alma', number=1)  # fruit: alma və number: 1 yazacaq
        

Bu mexanizmlər funksiyaları çox çevik və o qədər də məlum olmayan parametrlərin sayının lazım olduğu vəziyyətlərdə, məsələn, API-lərin hazırlanması və ya hadisələrin emalı funksiyalarında çox faydalı edir.

Hər iki halı daha ətraflı şəkildə daha sonra nəzərdən keçirəcəyik, ancaq bilməlisiniz ki, Python-da bir funksiyanın içərisində ona ötürülən bütün arqumentlərə asanlıqla daxil olmaq mümkündür. Və funksiyaya nə istəsəniz ötürə bilərsiniz.

11.2 Tiplərin göstərilməsi

Bildiyiniz kimi, Python-da dəyişənlərin əvvəlcədən təyin olunmuş tipi yoxdur. Hər bir dəyişənə istənilən tipdə dəyər təyin etmək olar, növbəti sətrdə isə başqa tipdə dəyər təyin etmək olar və s.

Bu, kiçik proqramlar üçün çox rahatdır, böyük proqramlar üçün isə çox da rahat deyildir. Proqram çox böyük olanda və funksiyaların sayı minlərlə olanda, proqramçı funksiyaya hansı məlumatların hansı ardıcıllıqla ötürülməli olduğunu yadda saxlaya bilmir.

Statik tipli dillərdə IDE özü proqramçılara deyir ki, hansı parametrləri və nə tipdə vermək lazımdır. Amma Python – dinamik tipli dildir, ona görə burda belə məsləhətlərə yer yoxdur.

Buna görə də Python yaradıcıları type hinting adlı bir şey icad ediblər. Bu dəyişənlərin tipi kimi bir şeydir, amma onlar tipdən çox tövsiyə kimidir. Göstərilən tiplər heç bir məhdudiyyət gətirmir.

Tip göstərişi Python 3.5-də təqdim edildi və PEP 484 standartı vasitəsilə məşhurlaşdı. Bu, proqramçılara dəyişənlərin, arqumentlərin və funksiyaların qaytarılan nəticələrinin gözlənilən tiplərini müəyyən etməyə imkan verən bir mexanizmdir.

Hərçənd Python dinamik tipli dil olaraq qalır, tip göstərişi proqramı daha aydın edir və statik tip yoxlanışını dəstəkləyir. Tip göstərişinə nümunələr:


def add_numbers(a: int, b: int) -> int:
    return a + b
        

Dəyişənin tipi təyin edilir iki nöqtə ilə, funksiyanın qaytarma nəticəsinin tipi isə ox ilə.

Tip-tövsiyəsinin verdiyi üstünlüklər:

  • Sənədləşmənin yaxşılaşdırılması: Tiplərin dəqiq göstərilməsi kodu öz-özünü sənədləşdirən edir.
  • Daha yaxşı avtomatik tamamlanma: Kod redaktorları tip məlumatlarından istifadə edərək avtomatik tamamlamanı yaxşılaşdıra bilir.
  • Dəyişiklikdə köməklik: Statik tip yoxlaması proqramın icra edilməsindən əvvəl potensial səhvləri aşkar edə bilir.

Tiplərlə işləmək alətləri

Python özü təyin edilmiş dəyişən tiplərinə heç cür reaksiya vermir. Bunun əvəzinə Python-da xüsusi bir alət var — mypy — statik tip analizatoru və bu tip göstərişləri istifadə edən kodlarda səhvləri tutmağa kömək edir.

1
Опрос
Funksiyalar Python-da,  6 уровень,  5 лекция
недоступен
Funksiyalar Python-da
Funksiyalar Python-da
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION