Ma'lumot turlari
Har qanday dasturlash tilida ma'lumot turi muhim tushuncha hisoblanadi. O'zgaruvchilar turli xil ma'lumot turlarini saqlashi mumkin va har bir tur o'ziga xos xususiyatlarga ega. Python tilida quyidagi ma'lumot turlari standart ravishda mavjud:
Pythondagi asosiy ma'lumot turlari
- Matn turi:
str - Raqamli turlar:
int,float,complex - Ketma-ketlik turlari:
list,tuple,range - Xarita turi:
dict - To'plam turlari:
set,frozenset - Mantiqiy turi:
bool - Binary turlar:
bytes,bytearray,memoryview - None turi:
NoneType
ESLATMA
Ushbu ma'lumot turlarining har birini keyingi darslarda batafsil o'rganamiz. Hozircha ularning mavjudligi va asosiy farqlari haqida umumiy tasavvurga ega bo'lish yetarlidir.
Ma'lumot turini aniqlash
Har qanday obyektning ma'lumot turini type() funksiyasi yordamida aniqlash mumkin:
MISOL
x o'zgaruvchisining ma'lumot turini aniqlash:
x = 5
print(type(x))Ma'lumot turini belgilash
Python-da o'zgaruvchiga qiymat berishimiz bilan uning turi avtomatik belgilanadi:
| Misol | Ma'lumot turi | Sinab ko'ring |
|---|---|---|
| x = "Hello World" | str | |
| x = 20 | int | |
| x = 20.5 | float | |
| x = 1j | complex | |
| x = ["apple", "banana", "cherry"] | list | |
| x = ("apple", "banana", "cherry") | tuple | |
| x = range(6) | range | |
| x = {"name": "John", "age": 36} | dict | |
| x = {"apple", "banana", "cherry"} | set | |
| x = frozenset({"apple", "banana", "cherry"}) | frozenset | |
| x = True | bool | |
| x = b"Hello" | bytes | |
| x = bytearray(5) | bytearray | |
| x = memoryview(bytes(5)) | memoryview | |
| x = None | NoneType |
Aniq ma'lumot turini belgilash
Python dasturlash tilida har bir ma'lumot turi aslida class (sinf) sifatida hosil qilingan.
Shu sababli ularning har biri constructor (quruvchi) deb ataluvchi maxsus funksiya ko‘rinishiga ega.
Masalan:
int()– butun son yaratadistr()– satr yaratadilist()– ro‘yxat yaratadidict()– lug‘at yaratadi
Bunday funksiyalar odatda type constructor (ma'lumot turini tuzuvchi) yoki function constructor (funksiya quruvchi) deb ataladi.
Ya'ni ular yordamida biz yangi obyekt hosil qilamiz yoki mavjud qiymatni boshqa turga o‘tkazamiz.
Funksiya va sinflar haqida kelgusi darslarda hali batafsil gaplashamiz.
MISOL
Quyidagi misolda x o'zgaruvchisiga str() konstruktori yordamida satr qiymat beramiz:
x = str("Hello World")
print(x)
print(type(x))Quyidagi misolda x o'zgaruvchisiga list() konstruktori yordamida ro'yxat qiymat beramiz:
x = list(("apple", "banana", "cherry"))
print(x)
print(type(x))Butun sonni satrga o'zgartirish:
x = 100
y = str(x)
print(y)
print(type(y))Ro'yxatni to'plamga o'zgartirish:
x = ["apple", "banana", "cherry", "apple"]
y = set(x)
print(y)
print(type(y))Ma'lumot turini aniq belgilash kerak bo'lganda, quyidagi konstruktorlardan foydalanishimiz mumkin:
| Misol | Ma'lumot turi |
|---|---|
| x = str("Hello World") | str |
| x = int(20) | int |
| x = float(20.5) | float |
| x = complex(1j) | complex |
| x = list(("apple", "banana", "cherry")) | list |
| x = tuple(("apple", "banana", "cherry")) | tuple |
| x = range(6) | range |
| x = dict(name="John", age=36) | dict |
| x = set(("apple", "banana", "cherry")) | set |
| x = frozenset(("apple", "banana", "cherry")) | frozenset |
| x = bool(5) | bool |
| x = bytes(5) | bytes |
| x = bytearray(5) | bytearray |
| x = memoryview(bytes(5)) | memoryview |
