المستوى 02
Python Fundamentals
اتعلم البرمجة اللي هتخليك تبني حلول مش مجرد تستخدم Tools
الفيديو لسه مترفعش. المحتوى المكتوب تحت كامل وتقدر تذاكر منه دلوقتي.
1. أساسيات Python (Installation & Setup)
الشرح: بايثون لغة برمجة عالية المستوى، سهلة القراءة، وهي اللغة الأساسية في عالم الـ AI والـ Automation لأن معظم مكتبات الذكاء الاصطناعي (OpenAI, LangChain, إلخ) مبنية بيها أو بتوفر SDK ليها.
print("Hello, AI Automation Engineer!")
2. Variables (المتغيرات)
الشرح: المتغير هو اسم بيشاور على قيمة مخزنة في الذاكرة. بايثون مش محتاج تحدد نوع البيانات صراحة (Dynamically Typed).
name = "Basma"
age = 25
is_active = True
3. Data Types (أنواع البيانات)
الشرح: الأنواع الأساسية: int (أعداد صحيحة)، float (أعداد عشرية)، str (نصوص)، bool (صح/خطأ)، list، dict، tuple، set. استخدم type() عشان تعرف نوع أي متغير.
price = 99.5 # float
quantity = 3 # int
product = "Laptop" # str
type().4. Strings (النصوص)
الشرح: التعامل مع النصوص أساسي جدًا في الأتمتة — قراءة رسائل، تنسيق ردود، استخراج بيانات. أهم العمليات: .split(), .join(), .strip(), .lower(), .replace(), f-strings.
message = " Hello World "
clean = message.strip().lower()
formatted = f"العميل {name} عنده {age} سنة"
5. Lists (القوائم)
الشرح: بنية بيانات مرتبة قابلة للتعديل، بتستخدم لتخزين مجموعة عناصر (زي قائمة طلبات، أو رسائل).
orders = ["order1", "order2", "order3"]
orders.append("order4")
first_order = orders[0]
6. Dictionaries (القواميس)
الشرح: بنية Key-Value — أهم بنية بيانات هتستخدمها لما تتعامل مع JSON من الـ APIs، لأن استجابات الـ APIs غالبًا بتيجي كـ Dictionary في بايثون.
customer = {
"name": "Ahmed",
"email": "ahmed@example.com",
"orders": 3
}
print(customer["name"])
7. Conditions (الشروط)
الشرح: if / elif / else — أساس أي منطق قرار في الأتمتة.
status_code = 404
if status_code == 200:
print("Success")
elif status_code == 404:
print("Not Found")
else:
print("Unknown Error")
8. Loops (الحلقات التكرارية)
الشرح: for و while — لتكرار عملية على مجموعة عناصر، زي معالجة كل رسالة في قائمة رسائل.
for order in orders:
print(f"Processing {order}")
i = 0
while i < 5:
i += 1
9. Functions (الدوال)
الشرح: كتلة كود قابلة لإعادة الاستخدام — أساس تنظيم أي مشروع Automation حقيقي.
def calculate_total(price, quantity, tax_rate=0.14):
return price * quantity * (1 + tax_rate)
total = calculate_total(100, 2)
classify_message(text) تُرجع "urgent" أو "normal" حسب محتوى النص.10. Error Handling (التعامل مع الأخطاء)
الشرح: try / except / finally — ضروري جدًا في الأتمتة لأن الـ API ممكن يفشل، الملف ممكن يكون مفقود، إلخ. النظام لازم "يستحمل" الأخطاء بدل ما يقف تمامًا.
try:
result = 10 / 0
except ZeroDivisionError as e:
print(f"Error occurred: {e}")
finally:
print("Done processing")
11. Files (التعامل مع الملفات)
with open("data.txt", "r", encoding="utf-8") as f:
content = f.read()
with open("output.txt", "w", encoding="utf-8") as f:
f.write("Processed data")
12. JSON
الشرح: JSON هو الصيغة الأساسية لتبادل البيانات بين الأنظمة والـ APIs.
import json
data = json.loads('{"name": "Ahmed", "age": 30}')
json_string = json.dumps(data, ensure_ascii=False)
13. CSV
import csv
with open("customers.csv", newline="", encoding="utf-8") as f:
reader = csv.DictReader(f)
for row in reader:
print(row["name"], row["email"])
14. Modules & Packages
الشرح: الـ Module ملف بايثون واحد فيه كود قابل للاستيراد. الـ Package مجموعة Modules منظمة في فولدر فيه __init__.py. ده أساس تنظيم أي مشروع كبير.
# my_module.py
def greet(name):
return f"Hello {name}"
# main.py
from my_module import greet
15. Virtual Environments
الشرح: بيئة معزولة لكل مشروع عشان الـ Dependencies بتاعت مشروع معين متتعارضش مع مشروع تاني.
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
pip install requests
requests جواه.16. Environment Variables
الشرح: لتخزين البيانات الحساسة (API Keys, Passwords) بعيد عن الكود مباشرة — أساسي للأمان.
import os
from dotenv import load_dotenv
load_dotenv()
api_key = os.getenv("OPENAI_API_KEY")
ملف .env:
OPENAI_API_KEY=sk-xxxxxxxx
.env في ملف .gitignore عشان متسربش المفاتيح على GitHub..env فيه مفتاح وهمي، واكتب سكريبت يقرأه باستخدام python-dotenv.17. OOP Basics (البرمجة الكائنية)
الشرح: تنظيم الكود في Classes و Objects — مفيد لما تبني أنظمة معقدة (زي AI Agent بحالة داخلية).
class Customer:
def __init__(self, name, email):
self.name = name
self.email = email
def greet(self):
return f"Hello {self.name}"
c = Customer("Ahmed", "ahmed@example.com")
print(c.greet())
Order فيه product, quantity, price ودالة total_price() بترجع السعر الكلي.18. Debugging
الشرح: قراءة الـ Traceback بعناية (بيقولك في أنهي سطر بالظبط حصل الخطأ ونوعه). أدوات: print() المؤقت، pdb (Python Debugger)، أو breakpoints في VS Code.
import pdb
pdb.set_trace() # يوقف التنفيذ هنا للفحص
print() statements للتتبع.19. التعامل مع Libraries
الشرح: استخدام مكتبات جاهزة بدل إعادة اختراع العجلة. أهم مكتبات لمهندس الأتمتة: requests (APIs)، pandas (بيانات)، python-dotenv (متغيرات بيئة)، pydantic (تحقق من البيانات).
pip install requests pandas python-dotenv
20. إرسال واستقبال البيانات + التعامل مع APIs باستخدام Python
الشرح: استخدام مكتبة requests للتواصل مع أي API خارجي — أساس ربط أي نظامين ببعض.
import requests
response = requests.get("https://api.example.com/customers")
if response.status_code == 200:
data = response.json()
print(data)
else:
print(f"Error: {response.status_code}")
# POST request
payload = {"name": "Ahmed", "email": "ahmed@example.com"}
response = requests.post("https://api.example.com/customers", json=payload)
https://jsonplaceholder.typicode.com/users) ويطبع أسماء أول 3 مستخدمين.21. أساسيات Async Programming
الشرح: البرمجة غير المتزامنة (Async) بتخليك تنفذ عدة عمليات (زي استدعاء عدة APIs) في نفس الوقت تقريبًا بدل ما تنتظر كل واحدة لوحدها — بيحسّن الأداء بشكل كبير في أنظمة الأتمتة.
import asyncio
import aiohttp
async def fetch(session, url):
async with session.get(url) as response:
return await response.json()
async def main():
async with aiohttp.ClientSession() as session:
result = await fetch(session, "https://api.example.com/data")
print(result)
asyncio.run(main())