مقدمة
إلا كنتي باغي تبدا البرمجة وما عارفش منين، ولا سمعتي بزاف على الذكاء الاصطناعي والـ Data وبغيتي تفهم شنو كيدورو المطورين، فـ Python هي أحسن بداية تقدر تختار. اللغة ساهلة فالقراية، قريبة من اللغة الإنجليزية، وفنفس الوقت قوية بزاف وكتستعملها شركات كبار بحال Google وNetflix وInstagram.
فهاد الدليل غادي نمشيو معاك خطوة بخطوة: كيفاش تثبت Python على الحاسوب ديالك، كيفاش تكتب أول برنامج، وكيفاش تفهم الأساسيات كاملين (المتغيرات، الشروط، الحلقات، القوائم، الدوال، الأخطاء، الملفات…). وفي الأخير غادي نبنيو مشروع صغير ومفيد: حاسبة ديال الميزانية الشهرية بالدرهم، ومن بعد نعطيك خارطة طريق باش تعرف شنو تتعلم من بعد.
إلا كنتي مازال محتار فالطريق كاملة ديال تعلم البرمجة، ننصحك تقرا حتى مقالنا على كيفاش تبدا تتعلم البرمجة من الصفر.
علاش Python بالضبط؟
Python ماشي غير لغة “ساهلة للمبتدئين”، راه من أكثر اللغات استعمالاً فالعالم، وكتجي ديما فالمراتب الأولى فمؤشرات بحال TIOBE. هادي شي مجالات فين كتستعمل:
- الذكاء الاصطناعي والـ Machine Learning: مكتبات بحال PyTorch وTensorFlow وscikit-learn كاملين كيتخدمو بـ Python.
- تحليل البيانات (Data Science): بـ pandas وNumPy وMatplotlib تقدر تحلل ملفات Excel وCSV كبار فثواني.
- الأتمتة (Automation): تكتب Script صغير كيرتب ليك الملفات، كيصيفط Emails، ولا كيجمع معلومات من مواقع.
- تطوير الويب (Backend): بـ Django وFlask وFastAPI تقدر تبني مواقع وAPIs كاملة.
- الخدمة: بزاف ديال الشركات فالمغرب وبرا كتقلب على مطورين Python، خصوصاً فالـ Data والـ AI والـ Backend.
| المجال | المكتبات/الأدوات المشهورة | مثال على مشروع |
|---|---|---|
| الذكاء الاصطناعي | PyTorch، TensorFlow، scikit-learn | نموذج كيصنف التعليقات إيجابية ولا سلبية |
| تحليل البيانات | pandas، NumPy، Matplotlib | تحليل المبيعات ديال حانوت فملف Excel |
| الأتمتة | os، pathlib، requests | Script كيرتب ملفات Téléchargements |
| تطوير الويب | Django، Flask، FastAPI | API ديال تطبيق توصيل الماكلة |
إلا بغيتي تفهم الذكاء الاصطناعي من الأساس، شوف مقالنا مقدمة في الذكاء الاصطناعي للمبتدئين.
تثبيت Python 3 على الحاسوب ديالك
قبل ما نبداو، خاصك Python 3 (ماشي Python 2 اللي ماتت ووقف الدعم ديالها). دير تحميل آخر نسخة مستقرة من الموقع الرسمي: python.org.
على Windows
- دخل لـ python.org/downloads وحمّل الـ Installer ديال Windows.
- حل الملف، وقبل ما تكليكي على Install، تأكد بلي درتي علامة على الخانة “Add python.exe to PATH”. هادي مهمة بزاف، بلا بيها الـ Terminal ما غاديش يعرف الأمر
python. - كليكي على “Install Now” وتسنى حتى يسالي.
- حل PowerShell ولا Command Prompt وكتب:
python --version
إلا بان ليك شي حاجة بحال Python 3.x.x راك واجد. ملاحظة: فـ Windows كاين حتى الأمر py اللي كيتثبت مع Python، وإلا كتبتي python وتحل ليك Microsoft Store، غالباً معناها Python ما تزادش للـ PATH مزيان.
على macOS
تقدر تحمل الـ Installer من python.org وتثبتو بحال أي برنامج، ولا إلا كنتي كتستعمل Homebrew:
brew install python
ومن بعد تأكد من النسخة. فـ macOS وLinux غالباً الأمر هو python3 ماشي python:
python3 --version
على Linux
أغلب التوزيعات كتجي فيها Python 3 مثبتة من الأول. جرب python3 --version. وإلا كنتي على Ubuntu ولا Debian وبغيتي تزيد pip والـ venv:
sudo apt update
sudo apt install python3 python3-pip python3-venv
تجهيز VS Code للخدمة بـ Python
تقدر تكتب Python فأي Editor، ولكن ننصحك بـ Visual Studio Code حيت مجاني وخفيف:
- حمّل VS Code من code.visualstudio.com.
- دخل للـ Extensions (
Ctrl+Shift+XولاCmd+Shift+Xفـ Mac) وقلب على Python ديال Microsoft وثبتها. - دير
Ctrl+Shift+Pوكتب Python: Select Interpreter واختار النسخة اللي ثبتيتي. - صاوب ملف جديد سميه
hello.py، ومن بعد تقدر تشغلو بالبوطونة ▶ اللي الفوق على اليمين، ولا من الـ Terminal.
أول برنامج ديالك: Hello World
حل hello.py وكتب فيه:
print("Salam, DigitalArabians!")
print("هادا أول برنامج ديالي بـ Python")
ومن بعد شغلو من الـ Terminal:
python hello.py # Windows
python3 hello.py # macOS / Linux
النتيجة:
Salam, DigitalArabians!
هادا أول برنامج ديالي بـ Python
الدالة print() كتطبع أي حاجة فالشاشة. ساهلة، صح؟ ملاحظة مهمة: فـ Python الـ Indentation (المسافات فبداية السطر) ماشي غير للزواق، راه جزء من اللغة، وغادي نشوفو علاش.
المتغيرات وأنواع البيانات (Variables & Data Types)
المتغير هو بحال صندوق كتحط فيه قيمة وكتعطيه سمية. فـ Python ما كتحتاجش تقول النوع ديال المتغير، اللغة كتعرفو بوحدها:
name = "Yassine" # str (نص)
age = 24 # int (عدد صحيح)
height = 1.78 # float (عدد عشري)
is_student = True # bool (صح ولا غلط)
print(type(name)) # <class 'str'>
print(type(age)) # <class 'int'>
print(type(height)) # <class 'float'>
print(type(is_student)) # <class 'bool'>
قواعد بسيطة لسميات المتغيرات:
- كتبدا بحرف ولا
_، وما يمكنش تبدا برقم. - ما فيهاش مسافات، استعمل
_بحالmonthly_salary(هادا اسمو snake_case وهو المعتمد فـ Python). - Python كتفرق بين الحروف الكبار والصغار:
Ageوageجوج متغيرات مختلفين.
التحويل بين الأنواع
price = "150"
total = int(price) + 50
print(total) # 200
pi_text = str(3.14)
print(pi_text + "!") # 3.14!
النصوص و f-strings
النصوص (Strings) فيهم بزاف ديال الدوال الجاهزة:
city = " casablanca "
print(city.strip()) # casablanca
print(city.strip().upper()) # CASABLANCA
print(city.strip().title()) # Casablanca
print(len(city.strip())) # 10
word = "Python"
print(word[0]) # P
print(word[-1]) # n
print(word[0:3]) # Pyt
أما f-strings فهوما أحسن طريقة باش تدمج المتغيرات داخل النص. غير زيد f قبل النص وحط المتغيرات بين {}:
name = "Salma"
age = 22
salary = 7500.5
print(f"سميتي {name} وعندي {age} عام")
print(f"الخلصة: {salary:.2f} DH") # جوج أرقام من بعد الفاصلة
سميتي Salma وعندي 22 عام
الخلصة: 7500.50 DH
قراءة المدخلات من المستخدم: input()
الدالة input() كتوقف البرنامج وكتسنى المستخدم يكتب شي حاجة. ولكن رد البال: ديما كترجع نص (str)، حتى إلا كتب رقم:
name = input("شنو سميتك؟ ")
age = int(input("شحال فعمرك؟ "))
print(f"مرحبا {name}! من هنا 10 سنين غادي يكون عندك {age + 10} عام.")
إلا نسيتي int() وجربتي age + 10، غادي يطلع ليك TypeError حيت ما يمكنش تجمع نص مع رقم.
الشروط (if / elif / else)
الشروط كيخليو البرنامج ياخد قرارات. وهنا كيبان دور الـ Indentation: الكود اللي داخل الشرط خاصو يكون مزحوط بـ 4 مسافات:
grade = float(input("دخل النقطة ديالك على 20: "))
if grade >= 16:
print("Très bien! مبروك")
elif grade >= 14:
print("Bien")
elif grade >= 10:
print("Passable، نجحتي")
else:
print("ما نجحتيش هاد المرة، زيد خدم")
المقارنات الأساسية: == (كيساوي)، != (ما كيساويش)، >، <، >=، <=. وتقدر تجمع الشروط بـ and وor وnot:
age = 20
has_cin = True
if age >= 18 and has_cin:
print("تقدر تسجل")
الحلقات (Loops)
حلقة for
كتستعملها ملي تبغي تدوز على مجموعة ديال العناصر ولا تعاود شي حاجة عدد معروف ديال المرات:
for i in range(1, 6):
print(f"7 x {i} = {7 * i}")
cities = ["Rabat", "Fes", "Agadir"]
for city in cities:
print(f"زرت {city}")
range(1, 6) كتعطي الأرقام من 1 حتى 5 (الرقم الأخير ما كيدخلش).
حلقة while
كتبقى تعاود ما دام الشرط صحيح:
password = ""
while password != "1234":
password = input("دخل الرمز: ")
print("مرحبا بيك!")
وكاينين جوج كلمات مهمين: break كتخرج من الحلقة نيشان، وcontinue كتنقز للدورة الجاية:
for n in range(1, 11):
if n % 2 == 0:
continue # نقز الأرقام الزوجية
if n > 7:
break # حبس ملي نفوتو 7
print(n) # 1 3 5 7
هياكل البيانات: Lists وDicts وTuples وSets
هادو هوما الأدوات اللي غادي تستعمل كل نهار:
| النوع | الكتابة | مرتب؟ | قابل للتعديل؟ | كيقبل التكرار؟ |
|---|---|---|---|---|
| list | [1, 2, 3] |
نعم | نعم | نعم |
| tuple | (1, 2, 3) |
نعم | لا | نعم |
| dict | {"key": "value"} |
نعم (حسب ترتيب الإضافة) | نعم | المفاتيح لا |
| set | {1, 2, 3} |
لا | نعم | لا |
List (القائمة)
fruits = ["تفاح", "بنان", "ليمون"]
fruits.append("عنب") # زيد فالأخر
fruits.remove("بنان") # حيد عنصر
print(fruits[0]) # تفاح
print(len(fruits)) # 3
squares = [n * n for n in range(1, 6)] # List comprehension
print(squares) # [1, 4, 9, 16, 25]
Dict (القاموس)
كيخزن البيانات على شكل مفتاح وقيمة، بحال بطاقة ديال شخص:
student = {
"name": "Omar",
"city": "Tanger",
"grades": [15, 12, 17],
}
print(student["name"]) # Omar
student["age"] = 19 # زيد مفتاح جديد
print(student.get("phone", "ماكاينش")) # ماكاينش
for key, value in student.items():
print(key, "=>", value)
Tuple وSet
point = (33.57, -7.59) # tuple: ما كيتبدلش (مثلا إحداثيات)
lat, lon = point # Unpacking
tags = {"python", "ai", "python"}
print(tags) # التكرار كيتحيد: {'python', 'ai'} (الترتيب ممكن يتبدل)
إلا بغيتي تعمق فهاد الموضوع وتفهم علاش كل بنية كتصلح لحالة معينة، شوف هياكل البيانات والخوارزميات للمبتدئين.
الدوال (Functions)
الدالة هي مجموعة ديال الكود كتعطيها سمية وكتعاود تستعملها بلا ما تعاود تكتبها. كنعرفوها بـ def:
def greet(name, greeting="Salam"):
return f"{greeting} {name}!"
print(greet("Hamza")) # Salam Hamza!
print(greet("Hamza", "Ahlan")) # Ahlan Hamza!
مثال عملي أكثر: دالة كتحسب الثمن من بعد التخفيض:
def price_after_discount(price, percent):
"""كترجع الثمن من بعد التخفيض."""
discount = price * percent / 100
return price - discount
print(price_after_discount(400, 25)) # 300.0
نصيحة: كل دالة خاصها دير حاجة وحدة وتديرها مزيان، وتعطيها سمية واضحة كتقول شنو كدير.
التعامل مع الأخطاء (try / except)
البرامج الحقيقية خاصها تكون مستعدة للأخطاء: المستخدم يقدر يكتب حروف بلاصة الأرقام، الملف يقدر يكون ماكاينش… بلا ما يطيح البرنامج كامل، كنستعملو try/except:
try:
a = int(input("الرقم الأول: "))
b = int(input("الرقم الثاني: "))
print(f"النتيجة: {a / b}")
except ValueError:
print("خاصك تدخل أرقام صحيحة!")
except ZeroDivisionError:
print("ما يمكنش تقسم على صفر!")
finally:
print("سالينا.")
try: الكود اللي ممكن يطيح فيه خطأ.except: شنو نديرو إلا وقع خطأ معين.finally: كيتنفذ فجميع الحالات (مفيد باش تسد ملفات ولا اتصالات).
الـ Modules وpip والبيئات الافتراضية (venv)
استعمال الـ Modules الجاهزة
Python كتجي معاها “Standard Library” عامرة بالأدوات:
import math
import random
from datetime import date
print(math.sqrt(144)) # 12.0
print(random.choice(["أتاي", "قهوة", "عصير"]))
print(date.today()) # التاريخ ديال اليوم
pip: تثبيت المكتبات الخارجية
pip هو مدير المكتبات ديال Python. كيخليك تثبت أي مكتبة من PyPI (المخزن الرسمي ديال المكتبات):
pip install requests
البيئة الافتراضية (Virtual Environment)
المشكل: إلا ثبتيتي كلشي فالنظام مباشرة، المشاريع ديالك غادي يتخلطو ونسخ المكتبات غادي يتضاربو. الحل هو تدير لكل مشروع venv خاص بيه:
python -m venv .venv
(فـ macOS/Linux استعمل python3 -m venv .venv). هاد الأمر كيصاوب دوسي سميتو .venv فيه نسخة معزولة ديال Python. من بعد خاصك تفعلها:
| النظام | الأمر ديال التفعيل |
|---|---|
| Windows (PowerShell) | .venv\Scripts\Activate.ps1 |
| Windows (Command Prompt) | .venv\Scripts\activate.bat |
| macOS / Linux | source .venv/bin/activate |
ملي تتفعل، غادي تبان ليك (.venv) فبداية السطر فالـ Terminal. دابا أي pip install غادي يتثبت غير فهاد المشروع. وباش تخرج منها كتب deactivate.
ملاحظة لـ Windows: إلا PowerShell رفض يشغل Activate.ps1 بسبب الـ Execution Policy، تقدر تستعمل Command Prompt مع activate.bat.
ومن العادات المزيانة تسجل المكتبات ديال المشروع فملف requirements.txt:
pip freeze > requirements.txt # تسجيل المكتبات
pip install -r requirements.txt # تثبيتهم فجهاز آخر
وماتنساش تزيد .venv للـ .gitignore إلا كنتي كتستعمل Git، حيت الدوسي ديال البيئة ما خاصوش يتحط فالـ Repository.
قراءة وكتابة الملفات
باش تحفظ البيانات حتى من بعد ما يتسد البرنامج، خاصك تكتبها فملف. الطريقة المزيانة هي with open(...) حيت كتسد الملف أوتوماتيكياً:
# الكتابة (w = كيمسح المحتوى القديم)
with open("notes.txt", "w", encoding="utf-8") as f:
f.write("السطر الأول\n")
f.write("السطر الثاني\n")
# الإضافة فالأخر (a = append)
with open("notes.txt", "a", encoding="utf-8") as f:
f.write("سطر جديد\n")
# القراءة سطر بسطر
with open("notes.txt", "r", encoding="utf-8") as f:
for line in f:
print(line.strip())
ديما زيد encoding="utf-8" ملي كتخدم بالعربية، باش ما تطلعش ليك حروف مخربقة خصوصاً فـ Windows.
مشروع عملي: حاسبة الميزانية الشهرية بالدرهم
دابا غادي نجمعو كلشي تعلمناه فمشروع واحد مفيد: برنامج كيسولك على الخلصة ديالك، كيخليك تزيد المصاريف (الكرا، الضو والما، الماكلة…)، وكيعطيك تقرير فيه النسبة ديال كل مصروف وشحال بقا ليك. والبيانات كتتحفظ فملف JSON باش ما تضيعش.
صاوب ملف budget.py وكوبي فيه هاد الكود:
import json
from pathlib import Path
DATA_FILE = Path("budget.json")
def load_data():
"""كتقرا البيانات من الملف إلا كان موجود."""
if DATA_FILE.exists():
with open(DATA_FILE, "r", encoding="utf-8") as f:
return json.load(f)
return {"salary": 0, "expenses": []}
def save_data(data):
"""كتسجل البيانات فملف JSON."""
with open(DATA_FILE, "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=2)
def ask_amount(message):
"""كتعاود تسول حتى يدخل المستخدم رقم صحيح وموجب."""
while True:
try:
value = float(input(message))
except ValueError:
print("دخل رقم صحيح، مثلا 250 ولا 99.5")
continue
if value < 0:
print("المبلغ ما يمكنش يكون سالب.")
continue
return value
def add_expense(data):
name = input("سمية المصروف (مثلا: الكرا، الضو، الماكلة): ").strip()
if not name:
print("السمية خاوية، ما تزاد والو.")
return
amount = ask_amount("المبلغ بالدرهم: ")
data["expenses"].append({"name": name, "amount": amount})
save_data(data)
print(f"تزاد '{name}' بـ {amount:.2f} DH")
def show_report(data):
salary = data["salary"]
expenses = data["expenses"]
total = sum(item["amount"] for item in expenses)
rest = salary - total
print("\n========== تقرير الشهر ==========")
print(f"الخلصة: {salary:.2f} DH")
for item in expenses:
percent = item["amount"] / salary * 100 if salary > 0 else 0
print(f"- {item['name']}: {item['amount']:.2f} DH ({percent:.1f}%)")
print(f"مجموع المصاريف: {total:.2f} DH")
print(f"الباقي: {rest:.2f} DH")
if rest < 0:
print("رد البال! راك صرفتي كثر من الخلصة.")
elif salary > 0 and rest >= salary * 0.2:
print("مزيان! قدرتي تخبي 20% ولا كثر من الخلصة.")
else:
print("حاول تنقص شوية باش توصل تخبي 20% من الخلصة.")
print("=================================\n")
def main():
data = load_data()
if data["salary"] == 0:
data["salary"] = ask_amount("شحال الخلصة ديالك فالشهر (DH)؟ ")
save_data(data)
while True:
print("1) زيد مصروف")
print("2) شوف التقرير")
print("3) بدل الخلصة")
print("4) خرج")
choice = input("ختار رقم: ").strip()
if choice == "1":
add_expense(data)
elif choice == "2":
show_report(data)
elif choice == "3":
data["salary"] = ask_amount("الخلصة الجديدة (DH): ")
save_data(data)
elif choice == "4":
print("بالتوفيق! نتلاقاو الشهر الجاي.")
break
else:
print("اختيار غير صحيح، عاود.")
if __name__ == "__main__":
main()
شغلو بـ python budget.py (ولا python3 budget.py). إلا دخلتي خلصة 6000 DH وزدتي الكرا 2500 والماكلة 1500 والضو والما 300، التقرير غادي يبان هكا:
========== تقرير الشهر ==========
الخلصة: 6000.00 DH
- الكرا: 2500.00 DH (41.7%)
- الماكلة: 1500.00 DH (25.0%)
- الضو والما: 300.00 DH (5.0%)
مجموع المصاريف: 4300.00 DH
الباقي: 1700.00 DH
مزيان! قدرتي تخبي 20% ولا كثر من الخلصة.
=================================
شوف شحال من مفهوم استعملنا: الدوال، الـ Dicts والـ Lists، الحلقات، الشروط، try/except، f-strings، والملفات. وif __name__ == "__main__": معناها “شغل main() غير إلا تشغل هاد الملف مباشرة، ماشي ملي يتعمل ليه import من ملف آخر”.
تحديات باش تطور المشروع
- زيد خيار باش تحيد مصروف من اللائحة.
- قسم المصاريف لفئات (سكن، ماكلة، نقل) واحسب المجموع ديال كل فئة.
- سجل كل شهر فملف بوحدو (مثلا
budget_2026_10.json) باستعمالdatetime. - من بعد ما تتعلم pandas، رسم المصاريف فـ Chart بـ Matplotlib.
خارطة الطريق: شنو تتعلم من بعد؟
ملي تسالي الأساسيات، ما تبقاش تدور فنفس البلاصة. ختار اتجاه وبدا تبني مشاريع:
- البرمجة الكائنية (OOP): الـ Classes والـ Objects والوراثة. ضرورية باش تفهم الكود ديال المكتبات الكبار.
- Git وGitHub: باش تحفظ المشاريع ديالك وتبني Portfolio.
- تطوير الويب: ابدا بـ Flask باش تفهم الأساس، ولا FastAPI إلا بغيتي تبني APIs حديثة وسريعة، وDjango للمشاريع الكبيرة اللي محتاجة Admin وAuthentication جاهزين.
- تحليل البيانات: pandas وNumPy وMatplotlib، وجرب تحلل Datasets حقيقية.
- الذكاء الاصطناعي: من بعد الـ Data، دخل لـ scikit-learn ومن بعد PyTorch، ولا ابدا تخدم بـ APIs ديال نماذج اللغة.
- الأتمتة: Scripts كيوفرو ليك الوقت فالخدمة (Excel، Emails، ملفات…). هادي أسرع طريقة باش تحس بقيمة Python.
مصادر مجانية ننصحك بيها
- The Python Tutorial الرسمي فـ docs.python.org: مرجع دقيق ومحدث.
- CS50’s Introduction to Programming with Python (CS50P) من Harvard: كورس مجاني ومنظم بزاف.
- Automate the Boring Stuff with Python: كتاب مجاني أونلاين، ممتاز للأتمتة.
- freeCodeCamp: دروس وفيديوهات طويلة مجانية على Python والـ Data.
- Exercism وKaggle Learn: تمارين عملية، وKaggle مزيان بزاف للـ Data والـ AI.
أسئلة شائعة
واش Python صعيبة على المبتدئين؟
لا، بالعكس. Python من أسهل اللغات للبداية حيت الكتابة ديالها نقية وقريبة من الإنجليزية. الصعوبة الحقيقية ماشي فاللغة، ولكن فطريقة التفكير البرمجي، وهادي كتجي بالتمرين اليومي.
شحال خاصني من الوقت باش نتعلم Python؟
الأساسيات اللي فهاد المقال تقدر تفهمهم فبضع أسابيع إلا خدمتي ساعة ولا جوج فالنهار. ولكن باش توصل لمستوى الخدمة (Junior)، غالباً خاصك عدة شهور ديال التعلم والمشاريع، على حسب المجال اللي اخترتي.
واش نتعلم Python ولا JavaScript فالأول؟
إلا كان الهدف ديالك هو الـ Data، الأتمتة ولا الذكاء الاصطناعي، بدا بـ Python. وإلا بغيتي تصاوب مواقع وواجهات فالمتصفح، JavaScript هي البداية الطبيعية. فالأخير، المفاهيم كتشابه، واللغة الثانية غادي تكون ساهلة عليك.
واش خاصني نكون قوي فالرياضيات باش نتعلم Python؟
للأساسيات والويب والأتمتة، الرياضيات البسيطة كافية. أما فالـ Machine Learning والـ Data Science، غادي تحتاج شوية ديال الإحصاء والجبر الخطي، ولكن تقدر تتعلمهم بالتدريج ملي توصل ليهم.
واش Python كتصلح باش نلقى خدمة فالمغرب؟
نعم، كاين طلب على مطوري Python فالمغرب، خصوصاً فمجالات الـ Data والـ Backend والـ AI، وزيد عليهم فرص الخدمة عن بعد مع شركات أجنبية. المهم هو تبني Portfolio فيه مشاريع حقيقية على GitHub.
خلاصة
Python هي باب كبير كيدخلك لعالم البرمجة: من Script صغير كيرتب الملفات، حتى نماذج الذكاء الاصطناعي. فهاد الدليل تعلمتي كيفاش تثبتها، تكتب أول برنامج، تخدم بالمتغيرات والشروط والحلقات وهياكل البيانات والدوال، تتعامل مع الأخطاء والملفات، وتنظم المشاريع بـ pip وvenv، وصاوبتي مشروع حقيقي لحساب الميزانية بالدرهم.
دابا دورك: شغل المشروع، زيد عليه وحدة من التحديات، وما تبقاش غير تقرا، حيت البرمجة كتتعلم بالكتابة.
وانت، شنو هو أول مشروع بغيتي تصاوبو بـ Python؟ الأتمتة، الويب ولا الذكاء الاصطناعي؟ كتب لينا على [email protected]، وشارك المقال مع شي صاحب باغي يبدا البرمجة!