المُتغيِّرات

1.3 المُتغيِّرات

أهداف التعلم

في نهاية هذا القسم، ينبغي أن تكون قادرًا على:

  • إسناد المُتغيِّرات وطباعتها.
  • شرح قواعد تسمية المُتغيِّرات.

تعليمة الإسناد

تتيح المُتغيِّرات للبرامج الإشارة إلى القيم بأسمائها بدلاً من مواقعها في الذاكرة. مثال: age يشير إلى عمر شخص، و birth يشير إلى تاريخ ميلاد شخص.

يمكن لتعليمةٍ أن تُسند قيمةً إلى مُتغيِّر باستخدام عامل الإسناد (assignment operator) (=). لاحظ أن هذا يختلف عن علامة التساوي في الرياضيات. مثال: age = 6 أو birth = "May 15". يكون الطرف الأيسر من تعليمة الإسناد مُتغيِّرًا، والطرف الأيمن هو القيمة المُسنَدة إليه.

نقطة تحقق

إسناد المُتغيِّرات واستخدامها

مفاهيم تطبيقية

إسناد المُتغيِّرات واستخدامها

1.
أي سطر من الشِفرة يسترجع قيمة المُتغيِّر city بشكل صحيح بعد الإسناد التالي؟
city = "Chicago"
  1. print("In which city do you live?")
  2. city = "London"
  3. print("The city where you live is", city)
2.
أي برنامج يخزّن ويسترجع مُتغيِّرًا بشكل صحيح؟
  1. print("Total =", total)
    total = 6
    
  2. total = 6
    print("Total =", total)
    
  3. print("Total =", total)
    total = input()
    
3.
أي من التالي هو عامل الإسناد؟
  1. :
  2. ==
  3. =
4.
أي من التالي يُعد إسنادًا صالحًا؟
  1. temperature = 98.5
  2. 98.5 = temperature
  3. temperature - 23.2

قواعد تسمية المُتغيِّرات

يمكن أن يتكون اسم المُتغيِّر من أحرف وأرقام وشرطات سفلية، ويمكن أن يكون بأي طول. لا يمكن أن يبدأ الاسم برقم. مثال: 101class غير صالح. كما أن حالة الأحرف مهمة. مثال: Total يختلف عن total. يوصي دليل أسلوب بايثون بكتابة أسماء المُتغيِّرات بأسلوب snake_case، وهو أن تكون جميع الأحرف صغيرة مع شرطات سفلية بين كل كلمة، مثل first_name أو total_price.

يجب أن يكون الاسم قصيرًا ووصفيًا، لذا تُفضل الكلمات على الأحرف المفردة في البرامج لزيادة قابلية القراءة. مثال: مُتغيِّر باسم count يشير إلى غرض المُتغيِّر بشكل أفضل من مُتغيِّر باسم c.

تحتوي بايثون على كلمات محجوزة (keywords) لها وظائف خاصة، ولا يمكن استخدامها أسماءً للمُتغيِّرات أو لغيرها من الكائنات.

False
await
else
import
pass
None
break
except
in
raise
True
class
finally
is
return
and
continue
for
lambda
try
as
def
from
nonlocal
while
assert
del
global
not
with
asynch
elif
if
or
yield
جدول 1.2 الكلمات المحجوزة

مفاهيم تطبيقية

أسماء المُتغيِّرات الصالحة

5.
أي من التالي يمكن استخدامه كاسم مُتغيِّر؟
  1. median
  2. class
  3. import
6.
لماذا لا يُعَدّ الاسم 2nd_input اسمَ مُتغيِّرٍ صالحًا؟
  1. يحتوي على شرطة سفلية
  2. يبدأ برقم
  3. هو كلمة محجوزة
7.
أي من التالي سيكون اسمًا جيدًا لمُتغيِّر يخزن رمزًا بريديًا؟
  1. z
  2. var_2
  3. zip_code
8.
إذا كان اسم المُتغيِّر DogBreed، فأيّ تعديل يجعله متوافقًا مع دليل أسلوب بايثون؟
  1. dog_breed
  2. dogBreed
  3. dog-breed

جرّب بنفسك

النتيجة النهائية

اكتب برنامجًا بلغة بايثون يقوم بما يلي:

  • ينشئ مُتغيِّرًا، team1، مُسندًا إليه القيمة "Liverpool".
  • ينشئ مُتغيِّرًا، team2، مُسندًا إليه القيمة "Chelsea".
  • ينشئ مُتغيِّرًا score1، مُسندًا إليه القيمة 4.
  • ينشئ مُتغيِّرًا، score2، مُسندًا إليه القيمة 3.
  • يطبع team1، و "versus"، و team2 كسطر إخراج واحد.
  • يطبع "Final score: "، و score1، و "to"، و score2 كسطر إخراج واحد.