المتغير في البرمجة يشبه صندوقًا نخزن فيه البيانات ليُعاد استخدامها لاحقًا. يمكن أن يحتفظ الصندوق بنصوص أو أرقام (أو أنواع بيانات أخرى سوف نشرحها في دروس أخرى) بما يناسب احتياج البرنامج.
ويجب عند اختيار اسم متغير أن يكون اسمًا واضحًا يساعدنا على الوصول للمعلومة بسرعة وفهم نوعية البيانات أو القيمة المخزنة في المتغير.
المفتاح الذي يربط الاسم بالمحتوى هو علامة الإسناد = التي تعني "ضع القيمة داخل هذا الصندوق".
= يحدد اسم المتغير. أو اختصارًا يسمى المتغير.= تُخزَّن القيمة التي داخل المتغير، وتسمى اختصارًا القيمة.المتغير = القيمة_.@ أو # أو $ أو ? داخل الاسم.Neme مختلف عن name، وعن NAME، وعن NamE.اسم_الفرع.
عندما تكتب الرسوم = 150 فهذا يعني أنك خزنت الرقم 150 داخل المتغير المسمى الرسوم.
لا تفكر في العلامة كعملية رياضية، بل كمرحلة نقل بيانات من اليسار إلى اليمين.
اسم_الدرس = "أساسيات المتغيرات"
عدد_المتدربين = 25
قمنا بتعريف مجموعة من المتغيرات لكن تشغيل الكود لن يعرض شيئًا الآن، لأنه يجب استخدام دالة اطبع().
أسماء المتغيرات يجب أن تعكس المجال الذي نعمل عليه حتى يفهم أي مبرمج لاحقًا ما الذي يمثله المتغير دون ارتباك.
اسم_المقرر = "البرمجة للمبتدئين"
عدد_المحاضرات = 12
اجمالي_الدقائق_لكل_درس = 45
حد_التسجيل_اليومي = 120
نسبة_الانجاز_الحالي = 0.65
اسم_المريض = "سارة"
موعد_المتابعة_القادم = "الإثنين"
عدد_الخطوات_اليومية_المستهدفة = 8000
متوسط_ضغط_الدم = "120/80"
خطة_الوجبات_اليومية = "منخفضة الكربوهيدرات"
عدد_الادوية_اليومية = 3
لاحظ أن كل اسم مرتبط بنوع التطبيق؛ فالأسماء الغامضة أو البعيدة عن السياق تربك الفريق لاحقًا.
بعد تعريف المتغير، يمكن استخدامه داخل دالة الطباعة بدلًا من إعادة كتابة القيمة يدويًا.
اسم = "صالح"
اطبع(اسم)
رصيد = 2500
اطبع("رصيدك الحالي:", رصيد)
مجرد تخزين أسماء المتغيرات لا يُظهر أي نتيجة، لذلك نحتاج دائمًا إلى استدعاء دالة اطبع() لرؤية القيم.
اسم = "خالد"
اطبع("عزيز العميل ", اسم , "شكرا لتعاملك معنا")
لاحظ كيف دمجنا النصوص مع المتغير للحصول على رسالة شخصية جاهزة للإرسال.
اسم = "عمر"
اطبع("اسم")
اطبع(اسم)
السطر الأول يطبع الكلمة الحرفية "اسم" لأنها داخل علامات تنصيص، بينما السطر الثاني يطبع القيمة المخزنة داخل المتغير اسم وهي "عمر".
رقم_الطلب = 1257
اسم_الفرع = "الرياض - حي العليا"
اجمالي_المبلغ = 386.5
اطبع("عزيزي العميل", "طلبك رقم", رقم_الطلب)
اطبع("جاهز للاستلام من الفرع", اسم_الفرع)
اطبع("وإجمالي المبلغ المطلوب", اجمالي_المبلغ, "ريال")
هكذا تصبح البيانات المتغيرة جزءًا من الرسائل اليومية داخل المتجر أو مركز الاتصال، تمامًا مثل الرسائل التي تصل عبر SMS أو البريد الإلكتروني أو أي قناة إشعار أخرى، ويمكن إرسال الصيغة ذاتها في أكثر من قناة بنفس الوقت.
انسخ الكود التالي ثم غيّر القيم لتطابق بياناتك الخاصة:
اسم_المستخدم = "ليان"
مدينة_التسليم = "جدة"
اطبع("مرحبًا", اسم_المستخدم, "سيتم تسليم شحنتك في", مدينة_التسليم)
استخدم نفس القيم السابقة لكن اختر أسماء جديدة للصناديق، مثل العميل أو المدينة، ثم تأكد أن أوامر الطباعة ما زالت تعمل كما هي بدون أخطاء.
أمامك النموذج التالي الذي يذكر وقت تسليم وجهازًا محددًا. النص خارج محرر الأكواد حتى تركز على تحليله قبل كتابة الحل:
النموذج المطلوب: "عزيزي العميل مهند، جهازك الجديد متوفر للاستلام الساعة 8 مساءً من فرع المدينة الرقمية."
عرّف متغيرات لاسم العميل، نوع الجهاز، الوقت، واسم الفرع ثم أنشئ دالة طباعة واحدة تعيد صياغة الرسالة بدقة.
اسم_العميل = "مهند"
نوع_الجهاز = "حاسوب محمول"
وقت_الاستلام = "8 مساءً"
اسم_الفرع = "المدينة الرقمية"
اطبع("عزيزي العميل", اسم_العميل + "،", "جهازك الجديد", نوع_الجهاز,
"متوفر للاستلام الساعة", وقت_الاستلام, "من فرع", اسم_الفرع)
من غير المعقول أثناء بناء تطبيق تعليمي أو صحي أن نستخدم اسم متغير مثل المخالفات_المرورية، لكن لغة بايثون لن تمانع هذا الاختيار، ما قد يؤدي إلى فهم خاطئ للبيانات:
اجمالي_المخالفات_المرورية = 12
اطبع("عدد اشهر السنة", اجمالي_المخالفات_المرورية)
الكود يعمل، لكن المخرجات لا علاقة لها بعدد أشهر السنة، لذلك احرص على أن يعبّر اسم المتغير عن وظيفته.
ا4ب8ح2د8ت1ث0ج3خ0ك5 = 123456789
اطبع(ا4ب8ح2د8ت1ث0ج3خ0ك5)
الاسم السابق صعب القراءة وغير قابل للتذكر، لكنه ما زال يعمل لأن بايثون تسمح بحروف وأرقام بعد أن يبدأ الاسم بحرف. اختر أسماء واضحة لتجنب هذا النوع من الفوضى.
اطبع(اسم)
إذا لم يتم تعريف المتغير اسم مسبقًا، فسيظهر خطأ يخبرك بأن الاسم غير معروف. لذلك عرّف المتغير دائمًا قبل استخدامه في أي جزء من الكود.