Ichki obyektlar dastur yaratilishini osonlashtiradi. Oddiy muammolarni hal qilish uchun ko'pincha juda ko'p o'rnatilgan turlar mavjud. Sizning ixtiyoringizda to'plamlar (ro'yxatlar) va qidirish jadvallari (lug'atlar) kabi kuchli vositalar bor, shuning uchun ularni to'g'ridan-to'g'ri ishlatishingiz mumkin. Ular bilan birga siz katta hajmdagi ishni juda qisqa vaqtda bajarsangiz bo'ladi.
Ichki obyektlar — kengaytmalarning tarkibiy qismlari. Python tili sinflari (class) yoki C tili interfeysidan foydalanilgan holda, murakkab muammolarni hal qilish uchun siz o'zingizning obyektlaringizni yaratishingiz mumkin. Biroq, quyida ko'rsatilganidek, qo'lda realizatsiya qilingan obyektlar odatda ro'yxatlar va lug'atlar kabi ichki turlarga asoslangan. Misol uchun, stack tipidagi ma'lumotlar strukturasini yaratish uchun, ro'yxatlarga asoslanib sinf sifatida yozilishi mumkin.
Ichki obyektlar odatda, qo'lda yaratilgan ma'lumotlar tuzilmalaridan ko'ra samaraliroq. Python tilining ichki turlari yuqori tezlikda ishlashga erishish uchun, C tilida amalga oshirilgan optimallashtirilgan ma'lumotlar tuzilmalaridan foydalanadi. Siz bunga o'xshash turdagi tuzilmalarni yaratishingiz mumkin, lekin siz ichki turdagi obyektlar tomonidan taqdim etilgan tezlikka erishish uchun ko'p harakat qilishingiz kerak bo'ladi.
Ichki obyektlar tilning standart qismidir. Python tilida siz o'zingizning obyekt turlarini yaratishingiz mumkin, ammo bu tilni o'rganishning boshida tavsiya etilmaydi. Bundan tashqari, o'rnatilgan komponentlar Python tilining standart tarkibiy qismlari bo'lganligi sababli, ular har doim o'zgarishsiz qoladilar, qo'lda yozilgan tuzilmalar esa vaqti-vaqti bilan o'zgarib turadi. Boshqacha qilib aytganda, o'rnatilgan obyekt turlari nafaqat dasturlash jarayonini soddalashtiradi, balki ular qo'lda yaratilgan turlarning aksariyatiga qaraganda ko'proq samaradorlik va ishlab chiqarishga ega. O'zingizning obyekt turlaringizni yaratsangiz ham, o'rnatilgan obyektlar Pythonda har qanday dasturning yadrosidir.
Python tilidagi asosiy ma'lumotlar turlari
Quyidagi jadvalda Python dasturlash tilining bir qancha ma'lumot turlari keltrilgan va ba'zilarining sintaktik tuzlishi literallar sifatida ko'rsatilgan. Literallar — ma'lumot turlarini yaratish ifodalaridir. Ba'zilari sizga tanish bo'lib ko'rinishi mumkin, ayniqsa siz boshqa dasturlash tillari bilan to'qnash kelgan bo'lsangiz.
Ma'lumot turi
|
Misol
|
Sonlar
|
1234. 3.1415, 2+5j
|
Satrlar
|
'foo', "bar", b'a\x01c'
|
Ro'yxatlar
|
[3, [4, "foo" ], 5 ]
|
Lug'atlar
|
{'foo': 'bar', 'two': 2 }
|
To'plamlar
|
(2, 'bar', 4, 'Q')
|
Fayllar
|
myfile = open("bar", 'r')
|
Jamlanmalar (set)
|
set('abc'), {'1', '2', '3'}
|
Boshqa ma'lumot turlari
|
None, mantiqiy qiymatlar
|
Bu jadvalda barcha ma'lumot turlari ko'rsatilmagan, chunki Python dasturlash tilida qayta ishlanishi kerak bo'lgan hamma ma'lumotlar obyekt hisoblanadi.
Jadvalda keltirilgan obyekt turlarini ko'pincha bazaviy turlar deb atashadi, chunki ular Python dasturlash tiliga tog'ridan tog'ri o'rnatilgan, ya'ni ularning ko'pini yaratish uchun aniq bir sintaksis ishlatish zarur. Masalan, ushbu kod amalga oshayotganda:
>>> 'foobar'
texnik til bilan gapirganda, literal-ifoda (bu misolda: ' ', qo'shtirnoqlar) ishga tushadi va bizga yangi satr obyektini qaytaradi. Shunga o'xshab, kvadrat qavslar orasiga qo'yilgan ifodalar ro'yxat xosil qilsa, gullik qavslar ({ }) esa lug'at yaratadi va hokazo. Ko'rib turganingizdek, tip ko'rsatish konstruksiyasi Pythonda shart emas, sintaksisning o'zi kerakli bo'lgan tip turini yaratdi va ishga tushiradi.
Do'stlaringiz bilan baham: |