أول حاجة بتتعلمها في أي لغة برمجة هي المتغيرات. ولو فهمتها صح من الأول، كل اللي بعدها هيبقى أسهل بكتير: الشروط، والحلقات، والدوال. في المقال ده هنفهم المتغير في بايثون بأمثلة من حياتك، ومن غير أي تعقيد.
يعني إيه متغير؟
تخيّل عندك علبة مكتوب عليها اسم، وجواها حاجة. المتغير هو بالظبط كده: اسم بنحط فيه قيمة علشان نستخدمها بعدين.
name = "Ahmed"
age = 16
كده عملنا علبتين: علبة اسمها name جواها الكلمة "Ahmed"، وعلبة اسمها age جواها الرقم 16.
= في البرمجة مش معناها "يساوي" زي الرياضيات. معناها "حُط في". يعني age = 16 تتقري: حُط 16 في العلبة اللي اسمها age.
أنواع القيم اللي ممكن تتحط في المتغير
بايثون بتعرف نوع القيمة لوحدها من شكلها. أشهر 4 أنواع:
| النوع | معناه | مثال |
|---|---|---|
int | رقم صحيح | age = 16 |
float | رقم عشري | height = 1.72 |
str | نص (بيتكتب بين علامتين تنصيص) | name = "Ahmed" |
bool | صح أو غلط بس | is_student = True |
ولو عايز تعرف نوع أي متغير، استخدم type():
print(type(age)) # <class 'int'>
print(type(name)) # <class 'str'>
المتغير اسمه "متغير" ليه؟
لأن قيمته ممكن تتغير وإنت شغال. زي رصيد الموبايل: بيزيد لما تشحن، وبيقل لما تتكلم.
score = 10
score = score + 5
print(score) # 15
السطر التاني بيتقري كده: خد القيمة اللي في score (اللي هي 10)، وزوّد عليها 5، وحط الناتج تاني في score. القيمة القديمة بتتمسح والجديدة بتاخد مكانها.
قواعد تسمية المتغيرات
- الاسم يبدأ بـحرف أو شَرطة سفلية
_، ومينفعش يبدأ برقم.2nd_placeغلط، وplace_2صح. - ممنوع المسافات.
my nameغلط. استخدمmy_name. - بايثون بتفرّق بين الحروف الكبيرة والصغيرة.
Nameوnameمتغيرين مختلفين. - مينفعش تستخدم كلمة محجوزة زي
classأوifأوfor. - اختار اسم بيوصف القيمة.
total_priceأوضح بكتير منx.
أشهر 3 أخطاء
1. تستخدم متغير قبل ما تعمله، أو تكتب اسمه غلط
score = 15
print(Score)
# NameError: name 'Score' is not defined
كتبنا Score بـS كبيرة، وبايثون شايفاه اسم مختلف عن score.
2. تجمع نص مع رقم
print("العمر: " + 16)
# TypeError: can only concatenate str (not "int") to str
الحل: حوّل الرقم لنص بـstr()، أو استخدم f-string:
print("العمر: " + str(16))
print(f"العمر: {age}")
3. تنسى إن الرقم اللي بين علامتين تنصيص بقى نص
print("5" + "3") # 53 (لزق نصين)
print(5 + 3) # 8 (جمع رقمين)
اختبر نفسك
1. إيه ناتج الكود ده؟
x = 4
x = x * 2
x = x - 3
print(x)
2. أنهي اسم متغير صحيح؟ (أ) 1student (ب) student name (ج) student_1
3. إيه نوع المتغير price = 12.5؟
الإجابات: 1) 5 (4 في 2 بـ8، ناقص 3 بـ5) · 2) (ج) · 3) float
بايثونPythonالمتغيراتبرمجة للمبتدئينأولى ثانوي