CodeGym /Kurslar /Python SELF AZ /Məlumat tiplərinin çevrilməsi

Məlumat tiplərinin çevrilməsi

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

2.1 Növü Müəyyənləşdirmək

Bəzən kodun müəyyən bir yerində dəyişəndə hansı məlumatların saxlandığını bilmirik. Bunun üçün Python-da funksiya type() var, hansı ki obyektin növünü müəyyənləşdirmək üçün istifadə olunur.

Bu, daxili bir funksiyadır və verilmiş obyektin növünü qaytarır. Bu, debugging üçün, məlumatların doğrulanması və ya məlumat növlərinə görə məntiqin implementasiyası zamanı faydalı ola bilər.

Funktionallıq type() funksiyası

Siz type(x) çağırdığınızda, Python xüsusi bir type obyekti qaytarır, hansı ki dəyişən x-in növünü təmsil edir. Məsələn:


x = 1
print(type(x))  # Çıxış: <class 'int'>

x = "salam"
print(type(x))  # Çıxış: <class 'str'>

x = [1, 2, 3]
print(type(x))  # Çıxış: <class 'list'>

Diqqət yetirin ki, ekranda "class" sözü çıxacaq. Bunun səbəbi, hətta int, str, list və digər növlər belə class-lardır, sadəcə olaraq daxili class-lardır — onları elan etməyə ehtiyac yoxdur, çünki onlar Python ilə birlikdə gəlirlər.

Praktik Tətbiq

type() funksiyası tez-tez verilənlərin növünə əsaslanan fərqli fəaliyyətlər gərək olduqda istifadə olunur.

  • Dəyişənin növünə görə fərqli fəaliyyətlər həyata keçirilə bilər.
  • Funksiyalarda və metodlarda, arqumentlərin növlərini yoxlamaq üçün istifadə olunur.

Əgər dəyişəndə rəqəm olduğuna əmin olmaq istəyirsinizsə, aşağıdakı kodu yaza bilərsiniz:


arg = 123
if type(arg) == int:
    print(arg + 10)  # Çıxış: 133               

Daha praktik bir nümunə, hansı ki dəyişəndə saxlanılan obyektin növünü yoxlayırıq:


arg = "123"
if type(arg) == int:
    print(arg + 10)  # Bu icra olunmayacaq, çünki arg - sətirdir
elif type(arg) == str:
    print(arg + " dünya")  # Çıxış: 123 dünya
else:
    print("Naməlum növ")               

2.2 Aydın tip təyini

Python-da obyektin tipini açıq göstərmək üçün int(), float(), str(), tuple() və digər tip çevrilmə funksiyalarından istifadə olunur. Bu funksiyalar konkret bir tipi təyin etməyə və məlumatları bir tipdən digərinə çevirməyə imkan verir ki, bu da istifadəçi məlumatlarının işlənməsi, riyazi əməliyyatların icrası və ya sətir və məlumat kolleksiyaları ilə işləmək üçün rahatdır.

Tip çevrilmə funksiyalarının nümunələri

int(): Məlumatı tam ədədə çevirir. Biz artıq bu funksiya ilə bir neçə dəfə rastlaşmışıq və bilirik ki, əgər ədəd olan bir sətri ötürsək, int() onu müvafiq tam ədədə çevirəcək.


num = int("123")  # num tam ədəd 123 olacaq               

float(): Başqa bir tanış funksiya. Məlumatı üzən nöqtə ilə ədədə çevirir.


num = float("123.45")  # num 123.45 olacaq               

str(): Hər hansı bir Python obyektini sətir şəklində təqdimata çevirir.


s = str(10.5)  # s '10.5' olacaq               

tuple(): Ardıcıllığı tuple-ə (kortejə) çevirir.


t = tuple([1, 2, 3])  # t (1, 2, 3) olacaq               

list(): Ardıcıllıqla keçilə (iterasiya edilə) bilən obyekti (məsələn, sətri və ya korteji) siyahıya çevirir. Təkrarlana bilən obyekt — bu, ardıcıl keçilə bilən obyektlərdir, məsələn, sətirlər, siyahılar və ya kortecələr.


l = list("abc")  # l ['a', 'b', 'c'] olacaq               

dict(): Açar-dəyər ardıcıllığından lüğət yaradır.


d = dict([(1, 'a'), (2, 'b')])  # d {1: 'a', 2: 'b'} olacaq

Lüğətlər və kortecələr haqqında bir az sonra danışarıq, amma düşünürəm ki, ümumi mənanı başa düşdünüz: əgər açıq şəkildə bir tip təyin etməyə ehtiyacınız varsa, yuxarıda sadalanan funksiyalardan rahatlıqla istifadə edə bilərsiniz.

2.3 Tiplərin çevrilməsi

Python-da açıq tip çevrilməsi (ya da konvertasiya) proqramçılara dəyişənlərin data tiplərini idarə etməyə və dəyişməyə imkan verir. Bu, müxtəlif əməliyyatlarda dataların uyğunluğunu təmin etmək üçün ya da istifadəçidən alınan inputlardan və ya fayllardan oxunan data tiplərini düzəltmək üçün faydalı ola bilər. Mahiyyətcə, tiplərin çevrilməsi və konvertasiya bir və eyni məna daşıyır — obyektin data tipinin başqa bir tipə dəyişdirilməsi prosesi.

Açıq tip çevrilməsi ilə artıq bir az tanışıq. Python-da bu, daxili funksiyalar vasitəsilə həyata keçirilir, məsələn int(), float(), str(), tuple(), list(), dict(), set() və digər funksiyalar.

Gəlin, bir neçə əlavə nümunəyə baxaq:

Funksiya Təsviri Input nümunəsi Output nümunəsi
int() Tam ədədə konvertasiya int("10") 10
float() Üzən nöqtəli ədədə konvertasiya float("20.5") 20.5
str() String (sətir) tipinə konvertasiya str(15) "15"
tuple() Tuple (kortec) tipinə konvertasiya tuple([1, 2, 3]) (1, 2, 3)
list() List (siyahı) tipinə konvertasiya list("abc") ['a', 'b', 'c']
dict() Açar-dəyər cütlərindən sözlük yaratmaq dict([(1, 'bir'), (2, 'iki')]) {1: 'bir', 2: 'iki'}
set() List-dən çoxluq yaratmaq set([1, 1, 2, 2, 3, 3]) {1, 2, 3}

İstifadə nümunələri

Açıq tip dəyişməsi bir çox ssenaridə istifadə olunur, o cümlədən:

  • İstifadəçi inputunun emalı: Əmin olmaq ki, daxil edilən data gözlənilən data tipinə uyğundur.
  • Dataların qarşılıqlı işləməsi: Müxtəlif mənbələrdən və ya API-dən alınan dataların birləşdirilməsi və ya müqayisə edilməsi lazım olduqda.
  • Xətaların idarə olunması: Əməliyyatları yerinə yetirmədən əvvəl datanı uyğun tipə çevirməklə runtime xətalarının qarşısını almaq.

Ən yaxşı təcrübələr və xəbərdarlıqlar

Açıq tip çevrilməsi məlumat itkisinə səbəb olmaqdan (məsələn, float-dan int-ə çevrilmə zamanı) və ya çevrilmə xətalarına (məsələn, ədədi olmayan sətri ədədə çevirmək cəhdləri) qaçmaq üçün diqqətlə istifadə olunmalıdır.

Bundan əlavə, bəzi çevrilmələrin gözlənilməz nəticələr verə biləcəyini və datanın diqqətlə yoxlanılmasını tələb etdiyini unutmamaq vacibdir. Məsələn, int-dən bool-a və geriyə çevrilmə gözlənilməz effektlər yarada bilər :)

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