المتغيرات Variables في Python
ماطريقة تعريف المتغيرات في لغة Python ...؟!! وما قواعد تسمية المتغيرات في بايثون .؟!! ماهو الـ Variable id وما هو Global Variable في بايثون ..؟!! ما أفضل الممارسات للتعامل مع المتغيرات في بايثون...؟!
في هذا المقال، سنقوم بتقديم نظرة عامة على المتغيرات في Python وكيفية استخدامها. سنناقش أساسيات المتغيرات، بدءًا من تعريفها وتحديد أسمائها، وصولًا إلى تعيين القيم لها وتغييرها. كما سنتحدث عن أنوع المتغيرات في python وكيف يمكن استخدام دالة type() للتحقق منها. سنضيف أيضًا بعض الأمثلة العملية لإظهار كيفية استخدام المتغيرات في بايثون لنبدأ..
في هذا المقال سنتعرف على:
- المتغيرات في لغة بايثون Python.
- تسمية المتغيرات في Python.
- مفهوم Variable id في Python.
- أنواع البيانات في Python.
- المتغير العام Global Variables في Python
- الثوابت Constants في python.
- أفضل الممارسات للتعامل المتغيرات Variables في Python.
المتغيرات في لغة بايثون Python
Python هي لغة برمجة مفتوحة المصدر شائعة الاستخدام في العديد من المجالات، بدءًا من تطوير الويب إلى الذكاء الاصطناعي. ومن بين المفاهيم الأساسية التي يجب على المبرمجين فهمها في Python هي المتغيرات Variables. تعد المتغيرات جزءًا أساسيًا من البرمجة، حيث تستخدم لتخزين البيانات والقيم التي يتم ومعالجتها بها في البرنامج. وبفضل بساطتها وسهولة استخدامها، يمكن للمبتدئين في البرمجة التعلم بسرعة كيفية استخدام المتغيرات في Python.
تعتبر المتغيرات لأي لغة برمجية حاوية لحفظ البيانات اي كان نوع هذه البيانات وتختلف طُرق تعامل كل لغة في العمل مع المتغيرات variables. في python كما ذكرنا في مقال عن أساسيات البرمجة أنها لغة سهلة وبسيطة في كتابة الاكواد لهذا تكون طريقة تعريف المتغير من خلال كتابة اسم المتغير وإسناد القمة مباشرة له . يتم إنشاء المتغير في بايثون في اللحظة التي تقوم فيها بتعيين القيمة الأولى له.
مثال:
x = 1
str = 'Hi'
يمكن كذلك تعريف عدة متغيرات وإسناد قيم لها في بيان واحد فمثلاً :
a, b, c = 'red', 'green', 'blue'
المتغيرات النصية للـ Python لايوجد فرق سواء بين استخدام علامات التنصيص المفردة او المزدوجة فلا يوجد فرق بين البيان:
str= 'Welcome to Python'
#Same as
str= "Welcome to Python"
تسمية المتغيرات في Python
في بايثون يمكن تسمة المتغيرات كما في أي لغة برمجة باسم قصير مثل a و b ، ولكن يجب أن تكون أسماء فريدة لكي يمكن الرجوع إليها في البرنامج. لهذا يفضل الإسم الوصفي أكثر مثل (name، age )، وهنالك قواعد لتسمية المتغيرات في Python وفي أغلب لغات البرمجة وهي :
- يجب أن يبدأ اسم المتغير بحرف أو بشرطة سفلية Underscore (_) لا يمكن أن يبدأ اسم المتغير برقم.
- لا يمكن أن يحتوي اسم المتغير إلا على أحرف أبجدية ( A-Z ) وأرقام 9-0 وشرطات سفلية (_).
- أسماء المتغيرات حساسة لحالة الأحرف (name و Name و NAME ثلاثة متغيرات مختلفة).
كما يجب تجنب الكلمات المحجوزة للغة في تسمية المتغيرات ويوضح الشكل التالي الكلمات المحجوزة في Python
أساليب تسمية المتغيرات في البرمجة وفي بايثون
في البرمجة يفضل ان يكون اسم المتغير ذو معنى واضح للغرض الذي أنشئ لأجله هذا المتغير، لهذا توجد في البرمجة أساليب لتسمية المتغيرات هذه الأساليب تجعل أسماء المتغيرات التي تحتوي على أكثر من كلمة أكثر قابلية للقراءة ومن هذه الأساليب :
- Camel Case: وفي هذا الأسلوب سوف تبدأ كل كلمة من الكلمات في اسم المتغير بحرف كبير ماعدا الكلمة الاولى مثلاً: studentName
- Snake Case: وفي هذا الأسلوب يتم الفصل بين كلمات الإسم بواسطة الشرطة السفلية Underscore مثلاً : Student_name
- Place Case: وفي هذا الاسلوب يكون الحرف الأول من كل كلمة كبير تماماً كما في العناوين ولكن بدون مسافات لهذا نجد هذا الاسلوب يسمى بـ Title Case فيكون الاسم على سبيل المثال كتالي: StudentName.
مفهوم Variable id في Python
يتضح لنا انه في python لا يلزم التصريح عن المتغيرات بأي نوع من أنواع البيانات، وبالطبع تتنوع أنواع البيانات الرئيسية مثل النصوص، والأعداد، وغيرها من أنواع البيانات التي سوف نتحتاج للتعامل معها في أي مشروع برمجي. عند انشاء المتغير واسناد قيمة له يتم حجز له مكان في الذاكرة بهذا الاسم وبرقم معرف خاص بهذا المتغير رقم المعرف مرتبط بقيمة المتغير بمعنى اذا تم تغيير قيمة المتغير بعد تعيينها لأول مره سوف يتم تغيير رقم المعرف (id) حيث تتم الاشارة الى المتغير بحسب الـ id لاحظ /ي الـ id في الشكل التالي:
في الشكل نلاحظ تغير الـ variable id بحسب قيمة المتغير فلكل قيمة معينة id خاص بها .
أنواع البيانات في Python
تعدد أنواع البيانات أنواع القيم التي تُحفظ وتخزن في المتغيرات تدعم لغة بايثون عددًا من أنواع البيانات، و بعض من هذه الأنواع:
- النوع String: يمثل هذا النوع البيانات النصيّة مثل characters والنصوص strings.
- النوع Integer : يمثل هذا النوع البيانات الرقميّة من الأعداد الصحيحة integers.
- النوع Float : يمثل هذا النوع البيانات الرقميّة من الأعداد العشرية float .
- النوع Boolean : يمثل هذا النوع المتغيرات المنطقية والتي تكون إحدى القيمتين إما True أو False .
- النوع None : يدل هذا النوع على عدم وجود قيمة.
و للحصول على نوع بيانات المتغير باستخدام الدالة type()لاحظ /ي المثال التالي :
وللتغيير نوع المتغير من نوع إلى آخر علينا استخدام الدالة المناسبة للنوع المراد تحويل البيانات إليه ويوضح الشكل التالي دوال التحويل بين أنواع البيانات المختلفة في بايثون ويوضح المثال التالي الدوال :
وهنا مثال يوضح طريقة استخدام بعض دوال تحويل أنواع البيانات في بايثون:
...........
x = str(5) # x will be '5'
y = int('5') # y will be 5
z = float(5) # z will be 5.0
...........
المتغير العام Global Variables في Python
المتغير العالم هو المتغير على مستوى التطبيق كامل والذي يمكن الوصول له وتغير قيمته من أي مكان من البرنامج مثلاً و يمكن لدالة الوصول له والتأثير على قيمته ويتم استخدام الكلمة المحجوزة global للإشارة إلى العام ويوضح المثال التالي طريقة العمل :
...........
# Declare variables and initialize it
x = "abc"
y = 'ABC'
print (x)
print(y)
# Global vs. local variables in functions
def someFunction():
global x
x = 'x'
y = 'y'
print (x)
print(y)
someFunction()
print(x)
print(y))
...........
لتكـن النتيجـة
abc ABC x y x ABC
الثوابت Constants في python
في بعض الأحيان ، قد نرغب في تخزين القيم في المتغيرات. لكننا لا نريد تغيير هذه القيم أثناء تنفيذ البرنامج. للقيام بذلك بلغات برمجة أخرى ، يمكنك استخدام الثوابت constants . الثوابت تشبه المتغيرات لكن لايسمح بتتغير قيمتها أثناء تنفيذ البرنامج. ولكن Python لا تدعم الثوابت لهذا نستخدم الأحرف الكبيرة لتسمية متغير للإشارة إلى أنه يجب معاملة المتغير على أنه ثابت. فمثلا:
...........
NUMBER = 0
...........
عند مواجهة متغيرات مثل هذه ، يجب ألا نغير قيمها. هذه المتغيرات هي ثوابت حسب ماهو متعارف وليس بالقواعد.
أفضل الممارسات للتعامل المتغيرات Variables في Python
عند التعامل مع المتغيرات في Python، هناك بعض الممارسات الجيدة التي يمكن اتباعها للحصول على كود نظيف وفعال. فيما يلي بعض أفضل الممارسات للتعامل مع المتغيرات في Python:
- استخدم أسماء واضحة ووصفية: اختر أسماء متغيرات توضح طبيعتها ودورها في البرنامج. احرص على استخدام أسماء مفهومة وسهلة القراءة بدلاً من الاختصارات أو الأسماء غير الواضحة.
- احترس من تغيير نوع المتغير: في Python، يمكنك تغيير نوع المتغير بسهولة، ولكن قد يؤدي ذلك إلى صعوبة في فهم الكود والحصول على نتائج غير متوقعة. حاول أن تكون متسقًا في استخدام نوع المتغيرات وتفادي تغييرها دون سبب مقنع.
- تجنب استخدام المتغيرات العامة: يفضل تجنب استخدام المتغيرات العامة (global variables) قدر الإمكان، حيث يمكن أن تتسبب في تعقيد الكود وزيادة ارتباطه وصعوبة اختباره. بدلاً من ذلك، استخدم المتغيرات المحلية (local variables) في نطاق الدوال أو الكلاسات.
- احذر من تكرار الأسماء: تأكد من عدم استخدام نفس اسم المتغير لأشياء مختلفة في سياقات مختلفة. قد يؤدي التكرار في أسماء المتغيرات إلى الخلط والاشتباه والأخطاء.
- ابتعد عن المتغيرات المؤقتة: تجنب استخدام المتغيرات المؤقتة مثل "temp" أو "x" إلا إذا كان هناك سبب مقنع لذلك. استخدم أسماء متغيرات توضح غرضها وتساهم في فهم الكود.
- قم بتهيئة المتغيرات قبل استخدامها: تأكد من تهيئة المتغيرات قبل استخدامها عند الحاجة. قد تؤدي محاولة استخدام متغير غير مهيأ إلى حدوث أخطاء في تشغيل البرنامج.
- استخدم الأسلوب الأكثر قراءةً لتعداد المتغيرات: عند تعداد متغيرات متعددة في نفس السطر، افصل بينها بفواصل لجعل الكود أكثر وضوحًا وقراءةً.
باستخدام هذه الممارسات، يمكننا عمل كود نظيف وقابل للقراءة والفهم وبهذا تسهل عملية التعامل مع المتغيرات في Python.
الأمثلة لهذا المقال متوفرة هنا.
إلى هنا ينتهي هذا المقال الذي تكلم عن المتغيرات Variables في لغة بايثون تعرفنا على طريقة تعريف المتغيرات Variables في Python وما يجب لتسمية المتغيرات في Python وكذلك ألقينا نظرة على أساليب تسمية المتغيرات في البرمجة . كما عرفنا ماهو الـ Variable ID وماهي ابرز أنواع المتغيرات في Python وكيف يتم التحويل بينها ، وماهو المتغير العام Global Variable في بايثون وكيف يتم الإعلان عنه وايظاً كيف يتم تعريف الثوابت في Python.