فێربوونی پایتۆن
لە سفرەوە تا شارەزا
ئامادەکرن رێباز
ئەم پەرتووکە ئامانجی ئەوەیە بەشێوەیەکی تەواو و ڕوون زمانی پایتۆن فێر بکەیت. لە دامەزراندنەوەوە تا دروستکردنی پڕۆژەی ڕاستەقینە، هەموو شتێک بە نموونە و ئەنجامی کۆد ڕوون دەکرێتەوە.
پێشەکی: پایتۆن چییە؟
لەم بەشەدا تەواو ڕوون دەکەینەوە کە پایتۆن چییە، بۆچی فێربوونی گرنگە، لە کام بوارەکاندا بەکاردێت، و چۆن دەتوانیت گەشتەکەت دەستپێبکەیت.
پایتۆن چییە؟
پایتۆن زمانێکی بەرنامەسازی بەرزەوەی (High-level) و گشتگیرە (General-purpose) کە لە ساڵی 1991 لەلایەن گویدۆ ڤان ڕۆسوم (Guido van Rossum) دروست کرا. ناوی "پایتۆن" لە زنجیرەی کۆمیدی بەریتانی "Monty Python's Flying Circus" وەرگیراوە، نەک لە مارەی پایتۆن.
پایتۆن بەهۆی سادەیی، خوێنەرایی و هێزی زۆرەوە بووە بە یەکێک لە زمانە بەناوبانگترینەکانی جیهان. لە ساڵی 2024دا، بەپێی ئیندێکسی TIOBE، پایتۆن ژمارە یەکەمی جیهانە.
بۆچی پایتۆن فێربم؟
- سادە و ڕوونە: ڕێزمانی (Syntax) پایتۆن نزیکە لە زمانی ئینگلیزی، ئاسانە فێری ببیت.
- بەکارهێنانی زۆرە: لە وێب، داتاسایەنس، هوشی دەستکرد، ئۆتۆمەیشن، یاری، و هتد بەکاردێت.
- کۆمەڵگەیەکی گەورە: هەزاران لیبرەری و میلیۆنان پرۆگرامەری هەیە کە یارمەتیت دەدەن.
- کار دەکات لە هەموو سیستەمێکدا: ویندۆز، ماک، لینوکس، و تەنانەت مۆبایل.
- پلەی کارەکان بەرزە: پرۆگرامەری پایتۆن دەتوانێت سامانێکی باشی دارایی بەدەست بهێنێت.
پایتۆن لە کام بوارەکاندا بەکاردێت؟
| بار | لیبرەری/تەکنەلۆژیای بەکارهاتوو | نموونەی بەکارهێنان |
|---|---|---|
| پەرەپێدانی وێب | Django, Flask, FastAPI |
ماڵپەڕ، API، بلاگ |
| داتاسایەنس | Pandas, NumPy, Matplotlib |
شیکاری داتا، چارت |
| هوشی دەستکرد | TensorFlow, PyTorch, scikit-learn |
ماشین لێرنینگ، دیپ لێرنینگ |
| ئۆتۆمەیشن | Selenium, BeautifulSoup |
ئۆتۆمەیشنی وێب، سکراپینگ |
| یاریسازی | Pygame, Godot |
یاری 2D و 3D |
| سیستەمی ئۆپەراتۆر | os, subprocess, psutil |
سکریپتی سیستەم |
دامەزراندن و دەستپێکردن
لەم بەشەدا فێردەبیت چۆن پایتۆن دابەزێنیت و دابمەزرێنیت لە سیستەمی خۆتدا، و هەروەها یەکەم بەرنامەکت بنووسیت.
دامەزراندنی پایتۆن
سەردان بە python.org/downloads بکە و وەشانی نوێترین دابەزێنە. لە کاتی دامەزراندندا، گرنگە ئەم دوو شتە چالاک بکەیت:
- Add Python to PATH: ئەمە ڕێگەدەدات لە هەر شوێنێکەوە لە تێرمیناڵەوە پایتۆن بەکاربهێنیت.
- pip: بەڕێوەبەری پاکێجەکانی پایتۆنە، لەگەڵ خۆی دامەزرێت.
پشتڕاستکردنەوەی دامەزراندن
تێرمیناڵ (Command Prompt لە ویندۆز، Terminal لە ماک/لینوکس) بکەرەوە و ئەم فەرمانە بنووسە:
python --version
ئەگەر وەشانی پایتۆن نیشاندرا، واتە بە سەرکەوتوویی دامەزرا.
یەکەم بەرنامە: Hello World!
فایلێک دروست بکە بە ناوی hello.py و ئەم کۆدەی خوارەوەی تێدا بنووسە:
# یەکەم بەرنامەی پایتۆن
print("Hello, World!")
print("سڵاو، جیهان!")
print() بۆ چاپکردنی دەق لەسەر شاشە بەکاردێت. هەر شتێک کە لەناو پرانتێزەکاندا بێت، چاپ دەکرێت. بەکارهێنانی دوو فەرمانی print بەدوای یەکدا، هەردوو دەقەکە لە هێڵی جیاوازدا چاپ دەبن.
چۆن بەرنامەکە پێبکەین؟
python hello.py
چاپکردنی شتە جیاوازەکان
# چاپکردنی ژمارە
print(42)
# چاپکردنی بیرکاری
print(10 + 5)
print(3.14 * 2)
# چاپکردنی چەند شتێک لەگەڵ یەکدا
print("ناوم", "ئەحمەدە", "و تەمەنم", 25, "ساڵە")
# چاپکردنی بە فۆرمات
name = "سارا"
age = 22
print(f"ناو: {name}، تەمەن: {age}")
f دەنووسیت و گۆڕاوەکان لەناو {} دەنووسیت.تێبینی لە پایتۆندا
# ئەمە تێبینی یەک هێڵە — پایتۆن ئەم هێڵە نادوێنێت
"""
ئەمە تێبینی چەند هێڵە.
بۆ ڕوونکردنەوەی گەورە بەکاردێت.
هەروەها بۆ دۆکیومێنتکردنی فانکشن و پۆل.
"""
'''
هەمان شتە بە سینگڵ کوتیشن.
ئەمەش تێبینی چەند هێڵە.
'''
x = 10 # تێبینی لە دوای کۆد
print(x) # ئەمەش کار دەکات
تاقیکردنەوەی بەشی 1
گۆڕاوەکان و جۆرەکانی داتا
گۆڕاو (Variable) شوێنێکە لە بیرگەدا کە بەرهای ئەنجام دەخەینە ناوێکەوە. لەم بەشەدا فێردەبیت چۆن گۆڕاو دروست بکەیت و جۆرەکانی داتا ناس بخات.
گۆڕاو چییە؟
وەک بووتێکێک بیری لێ بکەرەوە. بووتێکێک ناوێکی هەیە و تێیدا شت دەخەینەوە. هەر کاتێک ناوی بووتێکێک بڵێیت، ئەو شتەی تێدایە دەگەڕێتەوە. لە پایتۆندا گۆڕاو بەئاسانی دروست دەکرێت بەبێ پێویستبوون بە دیاریکردنی جۆر.
# دروستکردنی گۆڕاو
name = "ئارام" # string (دەق)
age = 28 # int (ژمارەی تەواو)
height = 1.75 # float (ژمارەی لەشکانە)
is_student = True # bool (ڕاست/چەوت)
# چاپکردن
print(name)
print(age)
print(height)
print(is_student)
# گۆڕاو بەکاردێت لە بیرکاریدا
next_year = age + 1
print(f"ساڵی داھاتوو تەمەنی دەبێت: {next_year}")
جۆرەکانی داتا لە پایتۆندا
| جۆر | وەسف | نموونە |
|---|---|---|
int |
ژمارەی تەواو (بێخاڵ) | 42, -7, 0, 1000 |
float |
ژمارەی لەشکانە (خاڵی هەیە) | 3.14, -0.5, 2.0 |
str |
دەق (شتی نووسراو) | "سڵاو", 'Python' |
bool |
بولیان (ڕاست یان چەوت) | True, False |
NoneType |
بەهای نییە | None |
complex |
ژمارەی ئاوەڵ | 3+4j |
پشکنینی جۆری گۆڕاو
x = 42
y = 3.14
z = "پایتۆن"
w = True
print(type(x)) # <class 'int'>
print(type(y)) # <class 'float'>
print(type(z)) # <class 'str'>
print(type(w)) # <class 'bool'>
گۆڕینی جۆر (Type Casting)
# int بۆ str
num = 100
text = str(num)
print(text) # "100"
print(type(text)) # <class 'str'>
# str بۆ int
text_num = "25"
number = int(text_num)
print(number + 5) # 30
# str بۆ float
pi_text = "3.14"
pi_num = float(pi_text)
print(pi_num * 2) # 6.28
# float بۆ int (بەشی لەشکانەکەی دەشێنێتەوە)
x = 7.9
y = int(x)
print(y) # 7
int("سڵاو") هەڵە دەدات.یاسای ناوکردنی گۆڕاوەکان
# ڕێگای ڕاست
user_name = "دلشاد"
age2 = 30
_private = "تایبەت"
myVariable = "باشە"
# ڕێگای هەڵە
# 2name = "هەڵە" # ناتوانیت بە ژمارە دەستپێبکەیت
# my name = "هەڵە" # ناتوانیت بۆشایی بەکاربهێنیت
# class = "هەڵە" # ناتوانیت وشەی تایبەتی پایتۆن بەکاربهێنیت
تاقیکردنەوەی بەشی 2
int(3.9) چییە؟ئۆپەراتۆرەکان
ئۆپەراتۆرەکان نیشانەکانن کە کارێکی دیاریکراو ئەنجام دەدەن لەسەر بەهایەکان. بیرکاری، بەراوردکردن، لۆژیکی، و تەخەسینی هەمووی لێرەن.
ئۆپەراتۆرە بیرکارییەکان
a = 15
b = 4
print(a + b) # کۆکردنەوە = 19
print(a - b) # دەرکردن = 11
print(a * b) # لێکدان = 60
print(a / b) # دابەشکردن = 3.75
print(a // b) # دابەشکردنی تەواو = 3
print(a % b) # ماوە = 3
print(a ** b) # هێز = 50625
ئۆپەراتۆرەکانی بەراوردکردن
x = 10
y = 20
print(x == y) # یەکسانە؟ False
print(x != y) # یەکسان نییە؟ True
print(x > y) # گەورەترە؟ False
print(x < y) # بچووکترە؟ True
print(x >= 10) # گەورەتر یان یەکسانە؟ True
print(x <= 5) # بچووکتر یان یەکسانە؟ False
ئۆپەراتۆرەکانی لۆژیکی
a = True
b = False
print(a and b) # و = False
print(a or b) # یان = True
print(not a) # نەخێر = False
# بەکارهێنان لە مەرجدا
age = 25
has_id = True
can_enter = age >= 18 and has_id
print(can_enter) # True
ئۆپەراتۆرەکانی تەخەسین
x = 10
x += 5 # x = x + 5 = 15
print(x)
x -= 3 # x = x - 3 = 12
print(x)
x *= 2 # x = x * 2 = 24
print(x)
x //= 5 # x = x // 5 = 4
print(x)
x **= 3 # x = x ** 3 = 64
print(x)
تاقیکردنەوەی بەشی 3
17 // 5 چییە؟دەقی نووسین (String)
String یەکێکە لە گرنگترین جۆرەکانی داتا. لەم بەشەدا فێردەبیت چۆن لەگەڵ دەق کاربکەیت، بڕی و پارچەی بکەیت، و بیگۆڕیت.
دروستکردنی String
# سێ ڕێگا بۆ دروستکردنی string
s1 = 'سڵاو بە تاک کوتیشن'
s2 = "سڵاو بە دووانە کوتیشن"
s3 = """سڵاو
ئەمە
دەقی چەند هێڵە"""
print(s1)
print(s2)
print(s3)
ئیندێکسی String
word = "Python"
# ئیندێکس لە 0 دەستپێدەکات
print(word[0]) # P
print(word[1]) # y
print(word[5]) # n
# ئیندێکسی نەرێنی (لە کۆتایییەوە)
print(word[-1]) # n
print(word[-2]) # o
# سلیس (Slice)
print(word[0:3]) # Pyt
print(word[2:5]) # tho
print(word[:3]) # Pyt
print(word[3:]) # hon
print(word[::-1]) # nohtyP (پاشەڕۆژکراو)
مێثۆدەکانی String
text = " Hello, Python World! "
print(text.strip()) # "Hello, Python World!" (سڕینەوەی بۆشایی)
print(text.lower()) # " hello, python world! "
print(text.upper()) # " HELLO, PYTHON WORLD! "
print(text.replace("World", "کوردستان")) # " Hello, Python کوردستان! "
print(text.split(",")) # [' Hello', ' Python World! ']
print(text.find("Python")) # 10
print(text.count("l")) # 3
print(text.startswith(" ")) # True
print(text.endswith("! ")) # True
# درێژی string
print(len("سڵاو")) # 4
پەیوەندیکردنی String
first = "ناز"
last = "ئەحمەد"
# پەیوەندیکردن بە +
full = first + " " + last
print(full)
# زۆرکردن بە *
line = "-" * 30
print(line)
# f-string
name = "ژین"
age = 20
print(f"ناوی من {name}ە و تەمەنم {age} ساڵە")
print(f"5 + 3 = {5 + 3}")
print(f"{'باشە':^20}") # ناوەڕاستکردن
تاقیکردنەوەی بەشی 4
"Python"[::-1] چییە؟مەرج و بڕیاردان
بەرنامەکان پێویستیان بە بڕیاردان هەیە: ئەگەر ئەو شتە ڕوویدا، ئەوە بکە... لەسەرەوە ئەوە بکە... پایتۆن بە if, elif, else ئەم کارە دەکات.
if — ئەگەر
age = 18
if age >= 18:
print("تۆ گەورەیت")
print("دەتوانیت بچیتە ناو")
print("بەرنامە تەواو بوو")
: لە دوای مەرج و هەروەها ناساندنی هێڵ (Indentation) بە 4 بۆشایی زۆر گرنگە. ئەگەر ئەمە نەکەیت، هەڵە ڕوودەدات.if / else — ئەگەر / نەخێر
temperature = 35
if temperature > 30:
print("هەوا گەرمە، ئاو بخۆرە!")
else:
print("هەوا باشە، چێژ وەربگرە!")
if / elif / else — چەند مەرجێک
score = 78
if score >= 90:
grade = "A — نایاب"
elif score >= 80:
grade = "B — زۆر باش"
elif score >= 70:
grade = "C — باش"
elif score >= 60:
grade = "D — قبوڵکراو"
else:
grade = "F — شکست"
print(f"پلەکەت: {grade}")
مەرجی تێکهڵ
has_ticket = True
has_passport = False
if has_ticket and has_passport:
print("هەموو شتێک ئامادەیە، بڕۆ!")
elif has_ticket or has_passport:
print("یەکێکیان هەیە، پێویستە تەواوی بکەیت")
else:
print("هیچ شتێکت نییە، ئامادە بە")
# مەرجی ناوەخۆیی
x = 15
if 10 <= x <= 20:
print("x لە نێوان 10 و 20 یە")
ئۆپەراتۆری تێرنەری
age = 20
status = "گەورە" if age >= 18 else "بچووک"
print(status) # گەورە
# یەکسانە بە:
# if age >= 18:
# status = "گەورە"
# else:
# status = "بچووک"
تاقیکردنەوەی بەشی 5
x = 5؟لووپەکان (For و While)
لووپ ڕێگەدەدات هەمان کۆد چەند جارێک پێبکەیت. دوو جۆر لووپ هەیە: for (بۆ ژمارەی دیاریکراو) و while (هەرکاتە مەرج ڕاستبوو).
لووپی for
# لووپ لەسەر ژمارەکان
for i in range(5):
print(f"ژمارە: {i}")
# range(start, stop, step)
for i in range(2, 10, 2):
print(i, end=" ") # 2 4 6 8
print()
# لووپ لەسەر string
for char in "پایتۆن":
print(char, end=" ")
print()
# لووپ لەسەر لیست
fruits = ["سێو", "پەتاتە", "هەنووکە"]
for fruit in fruits:
print(f"میوە: {fruit}")
ئیندێکسی لووپ بە enumerate
colors = ["سور", "شین", "سەوز", "زەرد"]
for index, color in enumerate(colors):
print(f"{index}: {color}")
# دەستپێکی ئیندێکسی دیاریکراو
for i, color in enumerate(colors, start=1):
print(f"ڕەنگی {i}: {color}")
لووپی while
# count down
count = 5
while count > 0:
print(f"ژمارە: {count}")
count -= 1
print("بڕۆ!")
# ژماردنی سەرسوڕهێنەر
total = 0
i = 1
while i <= 100:
total += i
i += 1
print(f="کۆی ژمارەکان 1-100 = {total}")
break, continue, pass
# break — وەستان و دەرچوون لە لووپ
for i in range(10):
if i == 5:
break
print(i, end=" ")
print() # 0 1 2 3 4
# continue — تێپەڕاندنی ئەم هێڵە
for i in range(6):
if i == 3:
continue
print(i, end=" ")
print() # 0 1 2 4 5
# pass — هیچ ناکات (بۆ شوێنی بەتاڵ)
for i in range(3):
pass # لە ئێستادا هیچ ناکات
# break لە while
password = ""
while password != "admin":
password = "admin" # لە ڕاستیدا input() بەکاردێت
if password == "admin":
print("چوونەژوورەوە سەرکەوتوو بوو!")
break
لووپی تێکهڵکراو (Nested Loop)
# خشتەی لێکدان
for i in range(1, 4):
for j in range(1, 4):
print(f"{i} x {j} = {i*j}", end=" ")
print()
# سێگۆشە
for i in range(1, 6):
print("*" * i)
تاقیکردنەوەی بەشی 6
break چی دەکات؟لیست، تەپڵ و ست
ئەم سێ جۆرە کۆمەڵەی داتاکان جیاوازیان هەیە. لیست دەگۆڕێت، تەپڵ ناگۆڕێت، ست دووبارە ناکات.
لیست (List)
لیست کۆمەڵەیەکە لە داتا کە ڕێزی بەسەردا دەچێت و دەگۆڕدرێت.
# دروستکردنی لیست
fruits = ["سێو", "موز", "پەتاتە", "هەنووکە"]
numbers = [10, 20, 30, 40, 50]
mixed = [1, "سڵاو", True, 3.14]
# دەستگەیشتن
print(fruits[0]) # سێو
print(fruits[-1]) # هەنووکە
# سلیس
print(fruits[1:3]) # ['موز', 'پەتاتە']
# گۆڕین
fruits[1] = "تەرخوون"
print(fruits)
# زیادکردن
fruits.append("ئاناناس") # لە کۆتایی
fruits.insert(1, "پەمیدۆر") # لە شوێنی دیاریکراو
print(fruits)
# سڕینەوە
fruits.remove("سێو") # بە ناو
last = fruits.pop() # کۆتایی
print(last)
print(fruits)
# درێژی
print(len(fruits))
# ڕیزکردن
nums = [5, 2, 8, 1, 9]
nums.sort()
print(nums) # [1, 2, 5, 8, 9]
nums.sort(reverse=True)
print(nums) # [9, 8, 5, 2, 1]
# پشکنین
print(5 in nums) # True
print(100 in nums) # False
# ژمارکردن
nums2 = [1, 2, 2, 3, 2, 4]
print(nums2.count(2)) # 3
تەپڵ (Tuple)
تەپڵ وەک لیستە بەڵام ناگۆڕدرێت (Immutable). کاتێک داتایەک هەیە کە نابێت بگۆڕدرێت، تەپڵ بەکاردێت.
point = (10, 20)
colors = ("سور", "شین", "سەوز")
print(point[0]) # 10
print(colors[1]) # شین
# تەپڵ ناگۆڕدرێت!
# point[0] = 15 # TypeError!
# بەتاڵ
empty = ()
single = (42,) # پێویستە کۆمای لە دوای بکەیت
# بەهێزکردنیunpacking
x, y = point
print(f"x={x}, y={y}") # x=10, y=20
# تەپڵ + تەپڵ
new_colors = colors + ("زەرد",)
print(new_colors)
ست (Set)
ست کۆمەڵەیەکە بێڕیز و بەبێ دووبارە.
nums = {1, 2, 3, 2, 1, 4}
print(nums) # {1, 2, 3, 4} — دووبارەکان سڕانەوە
# زیادکردن و سڕینەوە
nums.add(5)
nums.discard(1)
print(nums)
# کۆمەڵەکان لە ست
a = {1, 2, 3, 4}
b = {3, 4, 5, 6}
print(a | b) # یەکگرتن — {1,2,3,4,5,6}
print(a & b) # هاوبەش — {3, 4}
print(a - b) # جیاوازی — {1, 2}
print(a ^ b) # جیاوازی symmetric — {1, 2, 5, 6}
بەراوردکردنی سێ جۆرەکە
| تایبەتمەندی | List | Tuple | Set |
|---|---|---|---|
| ڕیز | بەڕیز | بەڕیز | بێڕیز |
| گۆڕانکاری | بەڵێ | نەخێر | بەڵێ |
| دووبارە | بەڵێ | بەڵێ | نەخێر |
| نیشانە | [] | () | {} |
| خێرا | باش | خێرا | زۆر خێرا |
تاقیکردنەوەی بەشی 7
دیکشنەری (Dict)
دیکشنەری کۆمەڵەیەکە لە جووتەی "کلیل: بەها". وەک فەرهەنگێکە: بە کلیلێکەوە بەهایەک دەدۆزیتەوە.
# دروستکردنی دیکشنەری
student = {
"name": "هێڵین",
"age": 21,
"city": "هەولێر",
"grades": [85, 90, 78]
}
# دەستگەیشتن
print(student["name"])
print(student["grades"][0])
# get — بێ خەریکی هەڵە
print(student.get("phone", "نادۆزرێتەوە"))
# گۆڕین و زیادکردن
student["age"] = 22
student["phone"] = "0750-123-4567"
# سڕینەوە
del student["city"]
removed = student.pop("grades")
# کلیلەکان و بەهاکان
print(student.keys())
print(student.values())
print(student.items())
# لووپ لەسەر دیکشنەری
for key, value in student.items():
print(f"{key}: {value}")
دیکشنەری تێکهڵ
students = [
{"name": "ئارام", "grade": 90},
{"name": "ناز", "grade": 85},
{"name": "ژین", "grade": 95}
]
# باشترین قوتابی
best = max(students, key=lambda s: s["grade"])
print(f"باشترین: {best['name']} — {best['grade']}")
# تێکهڵکردنی دوو دیکشنەری
dict1 = {"a": 1, "b": 2}
dict2 = {"c": 3, "d": 4}
merged = {**dict1, **dict2}
print(merged) # {'a': 1, 'b': 2, 'c': 3, 'd': 4}
تاقیکردنەوەی بەشی 8
فانکشنەکان
فانکشن بلۆکێکی کۆدە کە ناوێکی هەیە و دەتوانرێت چەند جارێک بانگ بکرێت. فانکشن ڕێگەدەدات کۆدەکەت ڕێک بخەیت و دووبارە نەنووسیت.
# فانکشنی سادە
def greet():
print("سڵاو! بەخێربێیت")
greet() # بانگکردن
greet() # دووبارە بانگکردن
# فانکشن بە پارامەتر
def greet_user(name):
print(f"سڵاو {name}! بەخێربێیت")
greet_user("دلشاد")
greet_user("ڕەنگین")
# فانکشن بە بەهای ئەنجام (return)
def add(a, b):
return a + b
result = add(5, 3)
print(f"5 + 3 = {result}")
# فانکشن بە چەند بەهایەکی ئەنجام
def min_max(numbers):
return min(numbers), max(numbers)
low, high = min_max([3, 7, 1, 9, 4])
print(f"کەمترین: {low}, زۆرترین: {high}")
# پارامەتری بنەڕەتی
def power(base, exp=2):
return base ** exp
print(power(5)) # 25
print(power(5, 3)) # 125
# *args — ژمارەی نادیاری پارامەتر
def sum_all(*numbers):
total = 0
for n in numbers:
total += n
return total
print(sum_all(1, 2, 3, 4, 5)) # 15
# **kwargs — پارامەتری ناودار
def profile(**info):
for key, val in info.items():
print(f"{key}: {val}")
profile(name="شیلان", age=24, city="سلێمانی")
Scope — سنووری گۆڕاو
x = "global" # global scope
def my_func():
x = "local" # local scope
print(f"ناو فانکشن: {x}")
my_func()
print(f"دەرەوەی فانکشن: {x}")
# global — گۆڕینی گۆڕاوی global
count = 0
def increment():
global count
count += 1
increment()
increment()
increment()
print(count) # 3
Lambda — فانکشنی بچووک
# فانکشنی لامبدا
square = lambda x: x ** 2
print(square(6)) # 36
add = lambda a, b: a + b
print(add(3, 7)) # 10
# بەکارهێنان لەگەڵ sort
students = [
{"name": "ئارام", "grade": 90},
{"name": "ناز", "grade": 85},
{"name": "ژین", "grade": 95}
]
students.sort(key=lambda s: s["grade"], reverse=True)
for s in students:
print(f"{s['name']}: {s['grade']}")
# بەکارهێنان لەگەڵ map
nums = [1, 2, 3, 4, 5]
doubled = list(map(lambda x: x * 2, nums))
print(doubled) # [2, 4, 6, 8, 10]
# بەکارهێنان لەگەڵ filter
evens = list(filter(lambda x: x % 2 == 0, nums))
print(evens) # [2, 4]
تاقیکردنەوەی بەشی 9
*args چی دەکات؟کارکردن لەگەڵ فایل
بەرنامەکان پێویستیان بە خوێندنەوە و نووسین لە فایل هەیە. لەم بەشەدا فێردەبیت چۆن لەگەڵ فایلی دەقی وەک CSV کاربکەیت.
# نووسین لە فایل
with open("note.txt", "w", encoding="utf-8") as f:
f.write("ئەمە فایلی تاقیکردنەوەیە\n")
f.write("هێڵی دووەم\n")
f.write("هێڵی سێیەم\n")
# خوێندنەوەی فایل
with open("note.txt", "r", encoding="utf-8") as f:
content = f.read()
print(content)
# خوێندنەوە هێڵ بە هێڵ
with open("note.txt", "r", encoding="utf-8") as f:
for line in f:
print(line.strip())
# زیادکردن لە کۆتایی فایل
with open("note.txt", "a", encoding="utf-8") as f:
f.write("هێڵی نوێ\n")
# خوێندنەوە وەک لیست
with open("note.txt", "r", encoding="utf-8") as f:
lines = f.readlines()
print(f"ژمارەی هێڵەکان: {len(lines)}")
"r" = خوێندنەوە، "w" = نووسین (فایلەکەی پێشوو دەسڕێتەوە)، "a" = زیادکردن لە کۆتایی، "r+" = خوێندنەوە و نووسین. هەمیشە encoding="utf-8" بۆ کوردی بەکاربهێنە.
کارکردن لەگەڵ CSV
import csv
# نووسینی CSV
with open("students.csv", "w", newline="", encoding="utf-8") as f:
writer = csv.writer(f)
writer.writerow(["ناو", "تەمەن", "شار"])
writer.writerow(["ئارام", 22, "هەولێر"])
writer.writerow(["ناز", 20, "سلێمانی"])
writer.writerow(["ژین", 25, "دهۆک"])
# خوێندنەوەی CSV
with open("students.csv", "r", encoding="utf-8") as f:
reader = csv.reader(f)
for row in reader:
print(row)
# خوێندنەوە وەک دیکشنەری
with open("students.csv", "r", encoding="utf-8") as f:
reader = csv.DictReader(f)
for row in reader:
print(f"{row['ناو']} — {row['شار']}")
تاقیکردنەوەی بەشی 10
"a" چی دەکات؟هەڵەدۆزینەوە و چارەسەرکردن
هەڵە لە بەرنامەسازی لەدوای نایەت._try/except ڕێگەدەدات بەرنامەکەت وەستانی نەبێت کاتێک هەڵە ڕوودەدات.
# هەڵەی سادە
try:
x = 10 / 0
except ZeroDivisionError:
print("هەڵە: ناتوانیت بە سفر دابەش بکەیت!")
# چەند جۆرە هەڵەیەک
try:
num = int("سڵاو")
except ValueError:
print("هەڵە: ئەمە ژمارە نییە!")
except TypeError:
print("هەڵە: جۆری هەڵەیە!")
# try/except/else/finally
try:
num = int("42")
except ValueError:
print("هەڵە!")
else:
print(f"سەرکەوتوو: {num}")
finally:
print("ئەم هێڵە هەمیشە جێبەجێ دەبێت")
# بەرزکردنەوەی هەڵە
def set_age(age):
if age < 0:
raise ValueError("تەمەن ناتوانێت نەرێنی بێت")
return age
try:
set_age(-5)
except ValueError as e:
print(f"هەڵە: {e}")
جۆرەکانی هەڵە
| جۆری هەڵە | کاتێک ڕوودەدات |
|---|---|
ValueError | بەهای نادروست بۆ فانکشن |
TypeError | جۆری هەڵە لە ئۆپەراتۆر |
ZeroDivisionError | دابەشکردن بە سفر |
FileNotFoundError | فایلەکە نەدۆزرایەوە |
KeyError | کلیل لە دیکشنەریدا نییە |
IndexError | ئیندێکسی لە دەرەوە |
NameError | گۆڕاو نەدۆزرایەوە |
تاقیکردنەوەی بەشی 11
finally کەی جێبەجێ دەبێت؟پۆل و ئۆبجێکت (OOP)
OOP (Object-Oriented Programming) ڕێگایەکە بۆ ڕێکخستنی بەرنامە بەپێی "ئۆبجێکت". پۆل وەک نەخشەیەکە و ئۆبجێکت وەک بینای دروستکراوە.
پۆلی سادە
class Person:
# فانکشنی سازکردن (Constructor)
def __init__(self, name, age, city):
self.name = name # تایبەتمەندی
self.age = age
self.city = city
# مێثۆد
def greet(self):
print(f"سڵاو، من {self.name}م لە {self.city}")
def birthday(self):
self.age += 1
print(f"بەخێربێت {self.name}! تەمەنت بوو {self.age}")
# دروستکردنی ئۆبجێکت
p1 = Person("دلشاد", 25, "هەولێر")
p2 = Person("ڕەنگین", 22, "سلێمانی")
p1.greet()
p2.greet()
p1.birthday()