فێربوونی پایتۆن
لە سفرەوە تا شارەزا


ئامادەکرن رێباز

ئەم پەرتووکە ئامانجی ئەوەیە بەشێوەیەکی تەواو و ڕوون زمانی پایتۆن فێر بکەیت. لە دامەزراندنەوەوە تا دروستکردنی پڕۆژەی ڕاستەقینە، هەموو شتێک بە نموونە و ئەنجامی کۆد ڕوون دەکرێتەوە.

16
بەش
80+
نموونەی کۆد
20+
تاقیکردنەوە
1
پڕۆژەی کۆتایی
بەشی 0

پێشەکی: پایتۆن چییە؟

لەم بەشەدا تەواو ڕوون دەکەینەوە کە پایتۆن چییە، بۆچی فێربوونی گرنگە، لە کام بوارەکاندا بەکاردێت، و چۆن دەتوانیت گەشتەکەت دەستپێبکەیت.

پایتۆن چییە؟

پایتۆن زمانێکی بەرنامەسازی بەرزەوەی (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 سکریپتی سیستەم
پێش ئەوەی دەستبکەیت بە فێربوون، لەبیرت بێت کە باشترین ڕێگا بۆ فێربوونی بەرنامەسازی ئەوەیە کە بەکاربهێنیت. هەر نموونەیەکی کۆد لەم پەرتووکەدا، خۆت بنووسەوە و ئەنجامی ببینە.
بەشی 1

دامەزراندن و دەستپێکردن

لەم بەشەدا فێردەبیت چۆن پایتۆن دابەزێنیت و دابمەزرێنیت لە سیستەمی خۆتدا، و هەروەها یەکەم بەرنامەکت بنووسیت.

دامەزراندنی پایتۆن

سەردان بە python.org/downloads بکە و وەشانی نوێترین دابەزێنە. لە کاتی دامەزراندندا، گرنگە ئەم دوو شتە چالاک بکەیت:

  • Add Python to PATH: ئەمە ڕێگەدەدات لە هەر شوێنێکەوە لە تێرمیناڵەوە پایتۆن بەکاربهێنیت.
  • pip: بەڕێوەبەری پاکێجەکانی پایتۆنە، لەگەڵ خۆی دامەزرێت.
ئەگەر لە ویندۆز دامەزراندیت، دڵنیا ببەرەوە کە دوگمەی "Add Python to PATH" لە خوارەوەی پەنجەرەی دامەزراندن هەڵبژێردرابێت. ئەگەر نەبێت، پایتۆن لە تێرمیناڵەوە کار ناکات.

پشتڕاستکردنەوەی دامەزراندن

تێرمیناڵ (Command Prompt لە ویندۆز، Terminal لە ماک/لینوکس) بکەرەوە و ئەم فەرمانە بنووسە:

تێرمیناڵ
python --version
Python 3.12.1

ئەگەر وەشانی پایتۆن نیشاندرا، واتە بە سەرکەوتوویی دامەزرا.

یەکەم بەرنامە: Hello World!

فایلێک دروست بکە بە ناوی hello.py و ئەم کۆدەی خوارەوەی تێدا بنووسە:

Python
# یەکەم بەرنامەی پایتۆن
print("Hello, World!")
print("سڵاو، جیهان!")
Hello, World! سڵاو، جیهان!
فانکشنی print() بۆ چاپکردنی دەق لەسەر شاشە بەکاردێت. هەر شتێک کە لەناو پرانتێزەکاندا بێت، چاپ دەکرێت. بەکارهێنانی دوو فەرمانی print بەدوای یەکدا، هەردوو دەقەکە لە هێڵی جیاوازدا چاپ دەبن.

چۆن بەرنامەکە پێبکەین؟

تێرمیناڵ
python hello.py

چاپکردنی شتە جیاوازەکان

Python
# چاپکردنی ژمارە
print(42)

# چاپکردنی بیرکاری
print(10 + 5)
print(3.14 * 2)

# چاپکردنی چەند شتێک لەگەڵ یەکدا
print("ناوم", "ئەحمەدە", "و تەمەنم", 25, "ساڵە")

# چاپکردنی بە فۆرمات
name = "سارا"
age = 22
print(f"ناو: {name}، تەمەن: {age}")
42 15 6.28 ناوم ئەحمەدە و تەمەنم 25 ساڵە ناو: سارا، تەمەن: 22
f-string ڕێگایەکی نوێ و ئاسانە بۆ تێکهێنانی گۆڕاو لەناو دەقدا. پێشەوەی دەقەکە پیتی f دەنووسیت و گۆڕاوەکان لەناو {} دەنووسیت.

تێبینی لە پایتۆندا

Python
# ئەمە تێبینی یەک هێڵە — پایتۆن ئەم هێڵە نادوێنێت

"""
ئەمە تێبینی چەند هێڵە.
بۆ ڕوونکردنەوەی گەورە بەکاردێت.
هەروەها بۆ دۆکیومێنتکردنی فانکشن و پۆل.
"""

'''
هەمان شتە بە سینگڵ کوتیشن.
ئەمەش تێبینی چەند هێڵە.
'''

x = 10  # تێبینی لە دوای کۆد
print(x) # ئەمەش کار دەکات
10

تاقیکردنەوەی بەشی 1

کام فەرمان وەشانی پایتۆن نیشان دەدات؟
بەشی 2

گۆڕاوەکان و جۆرەکانی داتا

گۆڕاو (Variable) شوێنێکە لە بیرگەدا کە بەرهای ئەنجام دەخەینە ناوێکەوە. لەم بەشەدا فێردەبیت چۆن گۆڕاو دروست بکەیت و جۆرەکانی داتا ناس بخات.

گۆڕاو چییە؟

وەک بووتێکێک بیری لێ بکەرەوە. بووتێکێک ناوێکی هەیە و تێیدا شت دەخەینەوە. هەر کاتێک ناوی بووتێکێک بڵێیت، ئەو شتەی تێدایە دەگەڕێتەوە. لە پایتۆندا گۆڕاو بەئاسانی دروست دەکرێت بەبێ پێویستبوون بە دیاریکردنی جۆر.

Python
# دروستکردنی گۆڕاو
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}")
ئارام 28 1.75 True ساڵی داھاتوو تەمەنی دەبێت: 29

جۆرەکانی داتا لە پایتۆندا

جۆر وەسف نموونە
int ژمارەی تەواو (بێخاڵ) 42, -7, 0, 1000
float ژمارەی لەشکانە (خاڵی هەیە) 3.14, -0.5, 2.0
str دەق (شتی نووسراو) "سڵاو", 'Python'
bool بولیان (ڕاست یان چەوت) True, False
NoneType بەهای نییە None
complex ژمارەی ئاوەڵ 3+4j

پشکنینی جۆری گۆڕاو

Python
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'>
<class 'int'> <class 'float'> <class 'str'> <class 'bool'>

گۆڕینی جۆر (Type Casting)

Python
# 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
100 <class 'str'> 30 6.28 7
ئەگەر هەوڵ بدەیت دەقی نائاسایی بگۆڕیت بۆ ژمارە، هەڵە ڕوودەدات. بۆ نموونە: int("سڵاو") هەڵە دەدات.

یاسای ناوکردنی گۆڕاوەکان

Python
# ڕێگای ڕاست
user_name = "دلشاد"
age2 = 30
_private = "تایبەت"
myVariable = "باشە"

# ڕێگای هەڵە
# 2name = "هەڵە"     # ناتوانیت بە ژمارە دەستپێبکەیت
# my name = "هەڵە"   # ناتوانیت بۆشایی بەکاربهێنیت
# class = "هەڵە"     # ناتوانیت وشەی تایبەتی پایتۆن بەکاربهێنیت

تاقیکردنەوەی بەشی 2

ئەنجامی int(3.9) چییە؟
بەشی 3

ئۆپەراتۆرەکان

ئۆپەراتۆرەکان نیشانەکانن کە کارێکی دیاریکراو ئەنجام دەدەن لەسەر بەهایەکان. بیرکاری، بەراوردکردن، لۆژیکی، و تەخەسینی هەمووی لێرەن.

ئۆپەراتۆرە بیرکارییەکان

Python
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
19 11 60 3.75 3 3 50625

ئۆپەراتۆرەکانی بەراوردکردن

Python
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
False True False True True False

ئۆپەراتۆرەکانی لۆژیکی

Python
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
False True False True

ئۆپەراتۆرەکانی تەخەسین

Python
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)
15 12 24 4 64

تاقیکردنەوەی بەشی 3

ئەنجامی 17 // 5 چییە؟
بەشی 4

دەقی نووسین (String)

String یەکێکە لە گرنگترین جۆرەکانی داتا. لەم بەشەدا فێردەبیت چۆن لەگەڵ دەق کاربکەیت، بڕی و پارچەی بکەیت، و بیگۆڕیت.

دروستکردنی String

Python
# سێ ڕێگا بۆ دروستکردنی string
s1 = 'سڵاو بە تاک کوتیشن'
s2 = "سڵاو بە دووانە کوتیشن"
s3 = """سڵاو
ئەمە
دەقی چەند هێڵە"""

print(s1)
print(s2)
print(s3)
سڵاو بە تاک کوتیشن سڵاو بە دووانە کوتیشن سڵاو ئەمە دەقی چەند هێڵە

ئیندێکسی String

Python
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 (پاشەڕۆژکراو)
P y n n o Pyt tho Pyt hon nohtyP

مێثۆدەکانی String

Python
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
Hello, Python World! hello, python world! HELLO, PYTHON WORLD! Hello, Python کوردستان! [' Hello', ' Python World! '] 10 3 True True 4

پەیوەندیکردنی String

Python
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}")  # ناوەڕاستکردن
ناز ئەحمەد ------------------------------ ناوی من ژینە و تەمەنم 20 ساڵە 5 + 3 = 8 باشە

تاقیکردنەوەی بەشی 4

ئەنجامی "Python"[::-1] چییە؟
بەشی 5

مەرج و بڕیاردان

بەرنامەکان پێویستیان بە بڕیاردان هەیە: ئەگەر ئەو شتە ڕوویدا، ئەوە بکە... لەسەرەوە ئەوە بکە... پایتۆن بە if, elif, else ئەم کارە دەکات.

if — ئەگەر

Python
age = 18

if age >= 18:
    print("تۆ گەورەیت")
    print("دەتوانیت بچیتە ناو")

print("بەرنامە تەواو بوو")
تۆ گەورەیت دەتوانیت بچیتە ناو بەرنامە تەواو بوو
لە پایتۆندا، بەکارنهێنانی کۆڵۆنی : لە دوای مەرج و هەروەها ناساندنی هێڵ (Indentation) بە 4 بۆشایی زۆر گرنگە. ئەگەر ئەمە نەکەیت، هەڵە ڕوودەدات.

if / else — ئەگەر / نەخێر

Python
temperature = 35

if temperature > 30:
    print("هەوا گەرمە، ئاو بخۆرە!")
else:
    print("هەوا باشە، چێژ وەربگرە!")
هەوا گەرمە، ئاو بخۆرە!

if / elif / else — چەند مەرجێک

Python
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}")
پلەکەت: C — باش

مەرجی تێکهڵ

Python
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 یە")
یەکێکیان هەیە، پێویستە تەواوی بکەیت x لە نێوان 10 و 20 یە

ئۆپەراتۆری تێرنەری

Python
age = 20
status = "گەورە" if age >= 18 else "بچووک"
print(status)  # گەورە

# یەکسانە بە:
# if age >= 18:
#     status = "گەورە"
# else:
#     status = "بچووک"
گەورە

تاقیکردنەوەی بەشی 5

کام مەرج ڕاست دەبێت ئەگەر x = 5؟
بەشی 6

لووپەکان (For و While)

لووپ ڕێگەدەدات هەمان کۆد چەند جارێک پێبکەیت. دوو جۆر لووپ هەیە: for (بۆ ژمارەی دیاریکراو) و while (هەرکاتە مەرج ڕاستبوو).

لووپی for

Python
# لووپ لەسەر ژمارەکان
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}")
ژمارە: 0 ژمارە: 1 ژمارە: 2 ژمارە: 3 ژمارە: 4 2 4 6 8 پ ا ی ت و ن میوە: سێو میوە: پەتاتە میوە: هەنووکە

ئیندێکسی لووپ بە enumerate

Python
colors = ["سور", "شین", "سەوز", "زەرد"]

for index, color in enumerate(colors):
    print(f"{index}: {color}")

# دەستپێکی ئیندێکسی دیاریکراو
for i, color in enumerate(colors, start=1):
    print(f"ڕەنگی {i}: {color}")
0: سور 1: شین 2: سەوز 3: زەرد ڕەنگی 1: سور ڕەنگی 2: شین ڕەنگی 3: سەوز ڕەنگی 4: زەرد

لووپی while

Python
# 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}")
ژمارە: 5 ژمارە: 4 ژمارە: 3 ژمارە: 2 ژمارە: 1 بڕۆ! کۆی ژمارەکان 1-100 = 5050

break, continue, pass

Python
# 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
0 1 2 3 4 0 1 2 4 5 چوونەژوورەوە سەرکەوتوو بوو!

لووپی تێکهڵکراو (Nested Loop)

Python
# خشتەی لێکدان
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)
1 x 1 = 1 1 x 2 = 2 1 x 3 = 3 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 * ** *** **** *****

تاقیکردنەوەی بەشی 6

break چی دەکات؟
بەشی 7

لیست، تەپڵ و ست

ئەم سێ جۆرە کۆمەڵەی داتاکان جیاوازیان هەیە. لیست دەگۆڕێت، تەپڵ ناگۆڕێت، ست دووبارە ناکات.

لیست (List)

لیست کۆمەڵەیەکە لە داتا کە ڕێزی بەسەردا دەچێت و دەگۆڕدرێت.

Python
# دروستکردنی لیست
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
سێو هەنووکە ['موز', 'پەتاتە'] ['سێو', 'پەمیدۆر', 'تەرخوون', 'پەتاتە', 'هەنووکە', 'ئاناناس'] ئاناناس ['سێو', 'پەمیدۆر', 'تەرخوون', 'پەتاتە', 'هەنووکە'] 5 [1, 2, 5, 8, 9] [9, 8, 5, 2, 1] True False 3

تەپڵ (Tuple)

تەپڵ وەک لیستە بەڵام ناگۆڕدرێت (Immutable). کاتێک داتایەک هەیە کە نابێت بگۆڕدرێت، تەپڵ بەکاردێت.

Python
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)
10 شین x=10, y=20 ('سور', 'شین', 'سەوز', 'زەرد')

ست (Set)

ست کۆمەڵەیەکە بێڕیز و بەبێ دووبارە.

Python
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}
{1, 2, 3, 4} {2, 3, 4, 5} {1, 2, 3, 4, 5, 6} {3, 4} {1, 2} {1, 2, 5, 6}

بەراوردکردنی سێ جۆرەکە

تایبەتمەندیListTupleSet
ڕیزبەڕیزبەڕیزبێڕیز
گۆڕانکاریبەڵێنەخێربەڵێ
دووبارەبەڵێبەڵێنەخێر
نیشانە[](){}
خێراباشخێرازۆر خێرا

تاقیکردنەوەی بەشی 7

کامەیان ناگۆڕدرێت (Immutable)؟
بەشی 8

دیکشنەری (Dict)

دیکشنەری کۆمەڵەیەکە لە جووتەی "کلیل: بەها". وەک فەرهەنگێکە: بە کلیلێکەوە بەهایەک دەدۆزیتەوە.

Python
# دروستکردنی دیکشنەری
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}")
هێڵین 85 نادۆزرێتەوە dict_keys(['name', 'age', 'phone']) dict_values(['هێڵین', 22, '0750-123-4567']) dict_items([('name', 'هێڵین'), ('age', 22), ('phone', '0750-123-4567')]) name: هێڵین age: 22 phone: 0750-123-4567

دیکشنەری تێکهڵ

Python
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}
باشترین: ژین — 95 {'a': 1, 'b': 2, 'c': 3, 'd': 4}

تاقیکردنەوەی بەشی 8

کام فانکشن کلیلەکانی دیکشنەری دەگەڕێنێتەوە؟
بەشی 9

فانکشنەکان

فانکشن بلۆکێکی کۆدە کە ناوێکی هەیە و دەتوانرێت چەند جارێک بانگ بکرێت. فانکشن ڕێگەدەدات کۆدەکەت ڕێک بخەیت و دووبارە نەنووسیت.

Python
# فانکشنی سادە
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="سلێمانی")
سڵاو! بەخێربێیت سڵاو! بەخێربێیت سڵاو دلشاد! بەخێربێیت سڵاو ڕەنگین! بەخێربێیت 5 + 3 = 8 کەمترین: 1, زۆرترین: 9 25 125 15 name: شیلان age: 24 city: سلێمانی

Scope — سنووری گۆڕاو

Python
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
ناو فانکشن: local دەرەوەی فانکشن: global 3

Lambda — فانکشنی بچووک

Python
# فانکشنی لامبدا
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]
36 10 ژین: 95 ئارام: 90 ناز: 85 [2, 4, 6, 8, 10] [2, 4]

تاقیکردنەوەی بەشی 9

*args چی دەکات؟
بەشی 10

کارکردن لەگەڵ فایل

بەرنامەکان پێویستیان بە خوێندنەوە و نووسین لە فایل هەیە. لەم بەشەدا فێردەبیت چۆن لەگەڵ فایلی دەقی وەک CSV کاربکەیت.

Python
# نووسین لە فایل
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)}")
mode-ەکانی فایل: "r" = خوێندنەوە، "w" = نووسین (فایلەکەی پێشوو دەسڕێتەوە)، "a" = زیادکردن لە کۆتایی، "r+" = خوێندنەوە و نووسین. هەمیشە encoding="utf-8" بۆ کوردی بەکاربهێنە.

کارکردن لەگەڵ CSV

Python
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

Mode ی "a" چی دەکات؟
بەشی 11

هەڵەدۆزینەوە و چارەسەرکردن

هەڵە لە بەرنامەسازی لەدوای نایەت._try/except ڕێگەدەدات بەرنامەکەت وەستانی نەبێت کاتێک هەڵە ڕوودەدات.

Python
# هەڵەی سادە
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}")
هەڵە: ناتوانیت بە سفر دابەش بکەیت! هەڵە: ئەمە ژمارە نییە! سەرکەوتوو: 42 ئەم هێڵە هەمیشە جێبەجێ دەبێت هەڵە: تەمەن ناتوانێت نەرێنی بێت

جۆرەکانی هەڵە

جۆری هەڵەکاتێک ڕوودەدات
ValueErrorبەهای نادروست بۆ فانکشن
TypeErrorجۆری هەڵە لە ئۆپەراتۆر
ZeroDivisionErrorدابەشکردن بە سفر
FileNotFoundErrorفایلەکە نەدۆزرایەوە
KeyErrorکلیل لە دیکشنەریدا نییە
IndexErrorئیندێکسی لە دەرەوە
NameErrorگۆڕاو نەدۆزرایەوە

تاقیکردنەوەی بەشی 11

finally کەی جێبەجێ دەبێت؟
بەشی 12

پۆل و ئۆبجێکت (OOP)

OOP (Object-Oriented Programming) ڕێگایەکە بۆ ڕێکخستنی بەرنامە بەپێی "ئۆبجێکت". پۆل وەک نەخشەیەکە و ئۆبجێکت وەک بینای دروستکراوە.

پۆلی سادە

Python
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()
سڵاو، من دلشادم لە هەولێر سڵاو، من ڕەنگینم لە سلێمانی بەخێربێت دلشاد! تەمەنت بوو 26

بەرگەگرینەوە (Inheritance)