ما هي المتغيرات؟
المتغيرات هي حاويات تخزن قيم البيانات. فكر فيها كصناديق مُعَلَّمة حيث يمكنك وضع معلومات واسترجاعها لاحقاً باستخدام الاسم (اسم المتغير).
# إنشاء المتغيرات
الاسم = "سارة"
العمر = 25
الطول = 1.65
طالب = True
# استخدام المتغيرات
print(الاسم) # الناتج: سارة
print(العمر) # الناتج: 25
قواعد تسمية المتغيرات
بايثون لديها قواعد لتسمية المتغيرات:
- يجب أن تبدأ بحرف أو شرطة سفلية (_)
- يمكن أن تحتوي على حروف وأرقام وشرطات سفلية
- حساسة لحالة الأحرف (
name≠Name) - لا يمكن أن تكون كلمات محجوزة في بايثون (
if،for،while، إلخ)
# أسماء متغيرات صحيحة
اسم_المستخدم = "محمد"
العمر2 = 30
_خاص = "سري"
الاسم_الأول = "ليلى"
# أسماء متغيرات خاطئة (ستسبب أخطاء)
# 2الاسم = "خطأ" # لا يمكن البدء برقم
# اسمي-هو = "خطأ" # لا يمكن استخدام الشرطة
# class = "خطأ" # لا يمكن استخدام كلمات بايثون المحجوزة
استخدم أسماء وصفية و snake_case (كلمات مفصولة بشرطات سفلية). مثال: عمر_المستخدم، السعر_الإجمالي، صالح
أنواع البيانات
بايثون لديها عدة أنواع بيانات مدمجة:
| النوع | الوصف | مثال |
|---|---|---|
str |
نص/سلسلة نصية | "مرحباً"، 'عالم' |
int |
عدد صحيح | 42، -17، 0 |
float |
عدد عشري | 3.14، -0.5 |
bool |
قيمة منطقية (صح/خطأ) | True، False |
list |
مجموعة مرتبة | [1, 2, 3] |
dict |
أزواج مفتاح-قيمة | {"الاسم": "أحمد"} |
النصوص (str)
النصوص هي تسلسلات من الأحرف، تُستخدم للنص:
# إنشاء النصوص
مفرد = 'مرحباً'
مزدوج = "عالم"
متعدد_الأسطر = """هذا نص
متعدد الأسطر"""
# دمج النصوص
الكامل = مفرد + " " + مزدوج
print(الكامل) # الناتج: مرحباً عالم
# تكرار النص
صدى = "ها" * 3
print(صدى) # الناتج: هاهاها
# طول النص
رسالة = "بايثون"
print(len(رسالة)) # الناتج: 6
# دوال النصوص
نص = " مرحباً بالعالم "
print(نص.upper()) # " مرحباً بالعالم " (للأحرف الإنجليزية)
print(نص.strip()) # "مرحباً بالعالم"
print(نص.replace("عالم", "بايثون")) # " مرحباً بالبايثون "
الأعداد (int و float)
بايثون تتعامل مع الأعداد الصحيحة والعشرية:
# الأعداد الصحيحة
العمر = 25
العدد = -10
رقم_كبير = 1_000_000 # الشرطات السفلية للقراءة
# الأعداد العشرية
السعر = 19.99
باي = 3.14159
علمي = 1.5e6 # 1500000.0
# العمليات الحسابية الأساسية
أ, ب = 10, 3
print(أ + ب) # الجمع: 13
print(أ - ب) # الطرح: 7
print(أ * ب) # الضرب: 30
print(أ / ب) # القسمة: 3.333...
print(أ // ب) # القسمة الصحيحة: 3
print(أ % ب) # الباقي: 1
print(أ ** ب) # الأس: 1000
القيم المنطقية (bool)
القيم المنطقية تمثل قيم الصح والخطأ:
# القيم المنطقية
نشط = True
مسؤول = False
# عمليات المقارنة ترجع قيم منطقية
س = 5
print(س > 3) # True
print(س == 5) # True
print(س != 5) # False
print(س < 3) # False
# العوامل المنطقية
print(True and False) # False
print(True or False) # True
print(not True) # False
# مثال عملي
العمر = 20
بالغ = العمر >= 18
print(f"هل هو بالغ: {بالغ}") # هل هو بالغ: True
فحص النوع والتحويل
يمكنك فحص وتحويل الأنواع:
# فحص النوع باستخدام type()
الاسم = "سارة"
العمر = 25
الطول = 1.65
print(type(الاسم)) # <class 'str'>
print(type(العمر)) # <class 'int'>
print(type(الطول)) # <class 'float'>
# تحويل الأنواع
رقم_نص = "42"
رقم_صحيح = int(رقم_نص) # نص إلى صحيح: 42
رقم_عشري = float(رقم_نص) # نص إلى عشري: 42.0
السعر = 19.99
السعر_صحيح = int(السعر) # عشري إلى صحيح: 19 (اقتطاع)
السعر_نص = str(السعر) # عشري إلى نص: "19.99"
# كن حذراً مع التحويلات!
# int("مرحباً") # خطأ: قيمة غير صالحة
النصوص المنسقة (F-Strings)
النصوص المنسقة هي الطريقة الحديثة لتنسيق النصوص في بايثون:
الاسم = "سارة"
العمر = 25
الطول = 1.65
# نص منسق أساسي
print(f"اسمي {الاسم}")
# تعبيرات في النص المنسق
print(f"بعد 5 سنوات، سأكون {العمر + 5}")
# تنسيق الأرقام
باي = 3.14159265
print(f"باي لخانتين عشريتين: {باي:.2f}") # 3.14
السعر = 1234.5
print(f"السعر: ${السعر:,.2f}") # $1,234.50
# المحاذاة والحشو
for i in range(1, 4):
print(f"{i:2d} تربيع يساوي {i**2:3d}")
التعيين المتعدد
بايثون تسمح بتعيين متغيرات متعددة دفعة واحدة:
# التعيين المتعدد
س, ص, ع = 1, 2, 3
print(س, ص, ع) # 1 2 3
# تبديل المتغيرات
أ, ب = 5, 10
أ, ب = ب, أ
print(أ, ب) # 10 5
# نفس القيمة لمتغيرات متعددة
س = ص = ع = 0
print(س, ص, ع) # 0 0 0
بايثون ذات كتابة ديناميكية، مما يعني أنك لا تحتاج لتحديد أنواع المتغيرات. المتغير يمكن أن يغير نوعه:
س = 10 # س عدد صحيح
س = "مرحباً" # الآن س نص
س = [1, 2] # الآن س قائمة
تحدي: المعلومات الشخصية
أنشئ برنامجاً يخزن ويعرض معلومات شخصية:
- خزّن اسمك (نص)
- خزّن عمرك (عدد صحيح)
- خزّن طولك بالمتر (عدد عشري)
- خزّن هل أنت طالب (قيمة منطقية)
- اطبع كل المعلومات باستخدام النصوص المنسقة
- احسب واطبع عمرك بالأشهر
أظهر الحل
الاسم = "أحمد محمد"
العمر = 22
الطول = 1.75
طالب = True
print(f"الاسم: {الاسم}")
print(f"العمر: {العمر} سنة")
print(f"الطول: {الطول:.2f} متر")
print(f"طالب: {طالب}")
العمر_بالأشهر = العمر * 12
print(f"العمر بالأشهر: {العمر_بالأشهر}")
النقاط الرئيسية
- المتغيرات تخزن البيانات باستخدام عامل التعيين
= - الأنواع الرئيسية:
str،int،float،bool - استخدم
type()لفحص نوع المتغير - حوّل بين الأنواع باستخدام
int()،float()،str() - النصوص المنسقة (
f"...") هي أفضل طريقة لتنسيق الناتج - استخدم أسماء متغيرات وصفية بأسلوب snake_case
في الدرس القادم، سنتعلم عن العوامل والتعبيرات لإجراء الحسابات والمقارنات!