لماذا Python؟
Python لغة برمجة عالية المستوى، معروفة بسهولة قراءتها وتنوّع استخداماتها:
- تطوير الويب (Django, FastAPI)
- تحليل البيانات (Pandas, NumPy)
- الذكاء الاصطناعي (TensorFlow, PyTorch)
- الأتمتة (scripts لتنظيم الملفات وأتمتة المهام)
بناءً على مسح Stack Overflow، Python من أكثر اللغات طلباً في سوق العمل.
التثبيت
حمّل Python من python.org. تأكّد من تفعيل "Add Python to PATH" أثناء التثبيت على Windows.
اختبر التثبيت:
python --version
# Python 3.12.1أول برنامج
أنشئ ملف hello.py:
# برنامج الترحيب
print("مرحباً بالعالم!")
name = input("ما اسمك؟ ")
print(f"أهلاً {name}!")شغّله:
python hello.pyالمتغيّرات والأنواع
Python يستنتج النوع تلقائياً — لست مضطرّاً للتصريح به:
name = "أحمد" # str (نص)
age = 25 # int (عدد صحيح)
height = 1.75 # float (عدد عشري)
is_student = True # bool (True/False)
# طباعة النوع
print(type(age)) # <class 'int'>النصوص (Strings)
# طرق مختلفة لإنشاء نص
greeting = "مرحبا"
multiline = """هذا نص
متعدّد الأسطر"""
# الدمج
name = "محمد"
message = "أهلاً " + name # طريقة عادية
message = f"أهلاً {name}" # f-string (الأحدث والأفضل)
# الطول والفهرسة
print(len(name)) # 4
print(name[0]) # 'م'
print(name[-1]) # 'د' (من النهاية)الأرقام والعمليات
x = 10
y = 3
print(x + y) # 13 جمع
print(x - y) # 7 طرح
print(x * y) # 30 ضرب
print(x / y) # 3.333...
print(x // y) # 3 قسمة صحيحة
print(x % y) # 1 الباقي
print(x ** y) # 1000 أسّالشروط
age = 18
if age >= 18:
print("بالغ")
elif age >= 13:
print("مراهق")
else:
print("طفل")مهم: Python يستخدم المسافات البادئة (indentation) لتحديد البلوكات — ليس {}. كل بلوك = 4 مسافات (أو tab).
القوائم (Lists)
fruits = ["تفاح", "موز", "برتقال"]
# الوصول
print(fruits[0]) # تفاح
print(fruits[-1]) # برتقال
# الإضافة
fruits.append("مانجو")
fruits.insert(1, "عنب")
# الحذف
fruits.remove("موز")
del fruits[0]
# الطول
print(len(fruits))
# التكرار
for fruit in fruits:
print(fruit)List Comprehension (اختصار قوي)
numbers = [1, 2, 3, 4, 5]
# الطريقة التقليدية
squares = []
for n in numbers:
squares.append(n ** 2)
# الطريقة البايثونية
squares = [n ** 2 for n in numbers]
# مع شرط
evens = [n for n in numbers if n % 2 == 0]الحلقات
# for لعدد محدّد من التكرارات
for i in range(5):
print(i) # 0, 1, 2, 3, 4
# while طالما شرط صحيح
count = 0
while count < 3:
print(f"المحاولة {count}")
count += 1break و continue
for i in range(10):
if i == 5:
break # توقّف تماماً
if i % 2 == 0:
continue # تخطَّ لـ i التالي
print(i) # 1, 3الدوال
def greet(name, greeting="أهلاً"):
"""دالة ترحيب بسيطة."""
return f"{greeting} {name}"
# الاستدعاء
print(greet("سارة")) # أهلاً سارة
print(greet("خالد", "مرحباً")) # مرحباً خالدالمعاملات المتعدّدة
def calculate(a, b, operation="+"):
if operation == "+":
return a + b
elif operation == "-":
return a - b
elif operation == "*":
return a * b
result = calculate(10, 5, "*") # 50Dictionary (القاموس)
user = {
"name": "نور",
"age": 28,
"email": "[email protected]"
}
# الوصول
print(user["name"])
# الإضافة/التحديث
user["city"] = "الرياض"
# التكرار
for key, value in user.items():
print(f"{key}: {value}")مثال كامل: حاسبة بسيطة
def calculator():
print("الحاسبة البسيطة")
print("-" * 20)
while True:
try:
a = float(input("الرقم الأول: "))
op = input("العملية (+, -, *, /): ")
b = float(input("الرقم الثاني: "))
if op == "+":
result = a + b
elif op == "-":
result = a - b
elif op == "*":
result = a * b
elif op == "/":
if b == 0:
print("لا يمكن القسمة على صفر!")
continue
result = a / b
else:
print("عملية غير معروفة")
continue
print(f"النتيجة: {result}")
except ValueError:
print("أدخل رقماً صحيحاً")
again = input("مرّة أخرى؟ (y/n): ")
if again.lower() != "y":
break
calculator()أخطاء شائعة
- IndentationError: المسافات البادئة غير متناسقة — استخدم دائماً 4 مسافات (أو tabs ثابتة)
- NameError: استخدام متغيّر غير معرّف — تحقّق من الكتابة
- TypeError: عملية بين أنواع غير متوافقة —
"5" + 3خطأ، استخدمint("5") + 3 - IndexError: وصول لفهرس خارج حدود القائمة
الأسئلة الشائعة
Python 2 أم Python 3؟
Python 3 دائماً — الإصدار 2 انتهى دعمه عام 2020. كل الأمثلة هنا بـ Python 3.
أيّ محرّر أستخدم؟
VSCode مع إضافة Python الرسمية. إن كنت متقدّماً، PyCharm خيار احترافي.
ما الفرق بين List و Tuple؟
القائمة قابلة للتعديل ([1, 2, 3])، الـ tuple ثابت ((1, 2, 3)). استخدم tuple للبيانات التي لا تتغيّر (إحداثيات، تواريخ).
كم يستغرق تعلّم Python؟
الأساسيات في أسبوعين من التدريب المنتظم (ساعة يومياً). الإتقان حتى مستوى العمل: 3-6 أشهر من المشاريع العملية.
مقالات ذات صلة
OOP في Python: البرمجة الكائنية بأمثلة عملية
البرمجة الكائنية تنظّم كودك وتسهّل صيانته. تعلّم الكلاسات، الوراثة، والتغليف في Python.
TypeScript المتقدّم: Generics والأنواع المتقدّمة بأمثلة
ترقَ من TypeScript المبتدئ إلى المتقدّم — Generics، Utility Types، Conditional Types، و template literals.
شرح Async و Await في JavaScript بأمثلة عملية
افهم async/await في JavaScript من أول مرة — بدون callbacks وبدون سلاسل then. أمثلة حقيقية من جلب البيانات للتحكّم بالأخطاء.