პითონის მონაცემთა ტიპები¶
ქვემოთ მოცემულია პითონის ძირითადი მონაცემთა ტიპები, თითოეულის განმარტებით, მაგალითებითა და გამოყენების ახსნით. თითოეული მაგალითი შექმნილია ისე, რომ სტუდენტებმა ადვილად გაიგონ, თუ როგორ მუშაობს ეს ტიპები პრაქტიკაში.
1. რიცხვები (Numbers)¶
აღწერა:
გამოიყენება მათემატიკური მნიშვნელობების შესანახად.
ქვეტიპები:
- int: მთელი რიცხვები, მაგ.: 0, 100, -50
- float: წილადი რიცხვები, მაგ.: 3.14, -0.001
- complex: კომპლექსური რიცხვები, მაგ.: 2+3j (სადაც j არის წარმოსახვითი ერთეული)
მაგალითი:
# მთელი რიცხვი (int)
age = 25
print("ჩემი ასაკი:", age) # გამოიტანს: ჩემი ასაკი: 25
# წილადი რიცხვი (float)
height = 1.75 # მეტრებში
print("ჩემი სიმაღლე:", height, "მეტრი") # გამოიტანს: ჩემი სიმაღლე: 1.75 მეტრი
# კომპლექსური რიცხვი (complex)
complex_num = 3 + 4j
print("კომპლექსური რიცხვი:", complex_num) # გამოიტანს: კომპლექსური რიცხვი: (3+4j)
განმარტება:
- int გამოიყენება მთელი რიცხვებისთვის (ასაკი, რაოდენობა)
- float — წილადი რიცხვებისთვის (სიმაღლე, წონა)
- complex — იშვიათად, ძირითადად სამეცნიერო გამოთვლებში
2. სტრიქონები (Strings)¶
აღწერა:
ტექსტის ან სიმბოლოების თანმიმდევრობა. იწერება ერთჯერად (') ან ორმაგ (") ბრჭყალებში.
მაგალითი:
# სტრიქონის შექმნა
name = "ანა"
greeting = 'გამარჯობა, სამყარო!'
# სტრიქონის გაერთიანება
full_greeting = greeting + " მე ვარ " + name + "!"
print(full_greeting) # გამოიტანს: გამარჯობა, სამყარო! მე ვარ ანა!
# სტრიქონის სიგრძე
print("სახელის სიგრძე:", len(name)) # გამოიტანს: სახელის სიგრძე: 3
განმარტება:
- გამოიყენება ტექსტის, სახელების, შეტყობინებების შესანახად
- + ოპერატორით სტრიქონების გაერთიანება
- len() ფუნქცია ითვლის სტრიქონის სიგრძეს
3. სიები (Lists)¶
აღწერა:
ელემენტების თანმიმდევრული კრებული, რომელიც შეიძლება შეიცვალოს. ელემენტებზე წვდომა ხდება ინდექსით (იწყება 0-დან).
მაგალითი:
# სიის შექმნა
fruits = ["ვაშლი", "ბანანი", "მანგო", 42]
print("ხილი:", fruits) # ['ვაშლი', 'ბანანი', 'მანგო', 42]
# ელემენტის შეცვლა
fruits[1] = "ფორთოხალი"
print("შეცვლილი სია:", fruits) # ['ვაშლი', 'ფორთოხალი', 'მანგო', 42]
# ელემენტის დამატება
fruits.append("ყურძენი")
print("დამატებული სია:", fruits) # ['ვაშლი', 'ფორთოხალი', 'მანგო', 42, 'ყურძენი']
განმარტება:
- სიები მოქნილია, შეიძლება შეიცავდეს სხვადასხვა ტიპის მონაცემებს
- append() ამატებს ელემენტს ბოლოში
- ინდექსით შესაძლებელია ელემენტის შეცვლა ან წვდომა
4. კორტეჟები (Tuples)¶
აღწერა:
სიის მსგავსი, მაგრამ არ იცვლება (immutable). გამოიყენება, როცა მონაცემები არ უნდა შეიცვალოს.
მაგალითი:
# კორტეჟის შექმნა
coordinates = (10, 20)
print("კოორდინატები:", coordinates) # (10, 20)
# ელემენტზე წვდომა
x = coordinates[0]
print("x კოორდინატი:", x) # 10
# შეცვლა შეუძლებელია
# coordinates[0] = 15 # გამოიწვევს შეცდომას!
განმარტება:
- სასარგებლოა მონაცემებისთვის, რომლებიც არ უნდა შეიცვალოს (მაგ.: კოორდინატები)
- უფრო სწრაფია, ვიდრე სიები, მაგრამ ნაკლებად მოქნილი
5. სიმრავლეები (Sets)¶
აღწერა:
უნიკალური ელემენტების კრებული, არ აქვს თანმიმდევრობა და დუბლიკატები.
მაგალითი:
# სიმრავლის შექმნა
numbers = {1, 2, 2, 3, 4}
print("სიმრავლე:", numbers) # {1, 2, 3, 4}
# ელემენტის დამატება
numbers.add(5)
print("დამატებული სიმრავლე:", numbers) # {1, 2, 3, 4, 5}
# გაერთიანება
other_numbers = {4, 5, 6}
union = numbers.union(other_numbers)
print("გაერთიანება:", union) # {1, 2, 3, 4, 5, 6}
განმარტება:
- გამოიყენება მხოლოდ უნიკალური მნიშვნელობებისთვის
- add() ამატებს ელემენტს
- union() აერთიანებს ორ სიმრავლეს
- არ აქვს ინდექსები
6. ლექსიკონები (Dictionaries)¶
აღწერა:
მონაცემთა შენახვა "გასაღები-მნიშვნელობა" წყვილებით. გასაღები უნიკალურია.
მაგალითი:
# ლექსიკონის შექმნა
student = {"name": "გიორგი", "age": 20, "grade": 95}
print("სტუდენტი:", student) # {'name': 'გიორგი', 'age': 20, 'grade': 95}
# მნიშვნელობაზე წვდომა
print("სახელი:", student["name"]) # გიორგი
# მნიშვნელობის შეცვლა
student["age"] = 21
print("განახლებული ასაკი:", student) # {'name': 'გიორგი', 'age': 21, 'grade': 95}
განმარტება:
- იდეალურია მონაცემების სწრაფი ძებნისთვის გასაღებით
- გასაღები შეიძლება იყოს სტრიქონი, რიცხვი ან სხვა immutable ტიპი
- მნიშვნელობა შეიძლება იყოს ნებისმიერი ტიპის
7. ბულეანი (Boolean)¶
აღწერა:
ლოგიკური მნიშვნელობები: True ან False. გამოიყენება პირობების შესამოწმებლად.
მაგალითი:
# ბულეანის გამოყენება
is_student = True
has_car = False
# პირობის შემოწმება
if is_student:
print("ეს ადამიანი სტუდენტია")
if not has_car:
print("მანქანა არ აქვს")
განმარტება:
- True და False გამოიყენება ლოგიკურ გადაწყვეტილებებში (if-else)
- ხშირად გამოიყენება შედარების ოპერატორებთან (==, >, <)
8. None¶
აღწერა:
აღნიშნავს ცარიელ ან განუსაზღვრელ მნიშვნელობას.
მაგალითი:
# None-ის გამოყენება
result = None
print("შედეგი:", result) # None
# None-ის შემოწმება
if result is None:
print("ჯერ არ გვაქვს შედეგი!")
განმარტება:
- გამოიყენება, როცა ცვლადს ჯერ არ აქვს მნიშვნელობა
- ხშირად გამოიყენება ფუნქციებში, რომლებიც არ აბრუნებენ მნიშვნელობას