البرمجة

استخدام المتغيرات في بايثون 3

كيفية استخدام المتغيرات في بايثون 3: شرح شامل ومفصل

تُعتبر المتغيرات في لغة بايثون من أهم المفاهيم الأساسية التي لا غنى عنها لفهم كيفية برمجة التطبيقات وتنفيذ الأوامر المختلفة. المتغير هو ببساطة عبارة عن مساحة في ذاكرة الحاسوب تُستخدم لتخزين البيانات، وتحتوي على اسم يمكن للمبرمج من خلاله الوصول إلى هذه البيانات أو تعديلها أثناء تنفيذ البرنامج. في هذا المقال سنستعرض بشكل مفصل مفهوم المتغيرات في بايثون 3، كيفية تعريفها، أنواعها، قواعد التسمية، طرق التعامل معها، وأفضل الممارسات التي تساعد على كتابة برامج واضحة وسهلة الصيانة.


مفهوم المتغيرات في بايثون 3

المتغير هو اسم يُشير إلى مكان معين في الذاكرة حيث يتم تخزين قيمة ما. في بايثون، على عكس بعض لغات البرمجة الأخرى، لا يحتاج المبرمج إلى تحديد نوع المتغير بشكل صريح عند تعريفه، لأن بايثون تعتمد على خاصية النوع الديناميكي (Dynamic Typing)، مما يعني أن نوع البيانات يتم تحديده تلقائيًا عند تعيين القيمة.

على سبيل المثال، يمكننا كتابة:

python
x = 10 y = "مرحبا" z = 3.14

في هذه الحالة:

  • x هو متغير يحتوي على عدد صحيح (Integer).

  • y يحتوي على نص (String).

  • z يحتوي على عدد عشري (Float).

تُعتبر هذه المرونة من الميزات التي تجعل بايثون سهلة الاستخدام وبسيطة للمبرمجين، خصوصًا المبتدئين.


قواعد تسمية المتغيرات في بايثون

لكي يعمل البرنامج بشكل صحيح، يجب الالتزام بمجموعة من القواعد عند تسمية المتغيرات:

  1. يجب أن يبدأ الاسم بحرف (A-Z أو a-z) أو بشرطة سفلية (_)

  2. يمكن أن يحتوي الاسم على أرقام وأحرف وشرطة سفلية فقط

  3. لا يمكن أن يحتوي على مسافات أو رموز خاصة مثل (!, @, #, $, %)

  4. لا يجوز أن يكون الاسم كلمة محجوزة في لغة بايثون مثل: if, while, for, class, def, import وغيرها

  5. يفضل استخدام أسماء تعبر عن محتوى المتغير أو وظيفته لتسهيل قراءة الكود

على سبيل المثال، أسماء مثل:

python
student_name age total_price

تعتبر أسماء متغيرات جيدة لأنها واضحة وتعبر عن المحتوى المخزن فيها.


أنواع المتغيرات في بايثون

في بايثون، يمكن للمتغيرات أن تحتوي على أنواع مختلفة من البيانات، وسنستعرض أهم هذه الأنواع:

1. الأعداد الصحيحة (Integers)

تمثل الأعداد بدون فاصلة عشرية سواء كانت موجبة أو سالبة.

مثال:

python
count = 15 year = 2025

2. الأعداد العشرية (Floating Point)

تمثل الأعداد التي تحتوي على فاصلة عشرية.

مثال:

python
price = 99.99 temperature = -5.5

3. النصوص (Strings)

تمثل النصوص والحروف، وتُكتب بين علامات اقتباس مفردة أو مزدوجة.

مثال:

python
message = "مرحبًا بالعالم" name = 'أحمد'

4. القيم المنطقية (Booleans)

تأخذ القيم True أو False وتستخدم في العمليات الشرطية.

مثال:

python
is_active = True has_permission = False

5. القوائم (Lists)

هي مجموعة مرتبة من القيم يمكن أن تحتوي على أنواع مختلفة.

مثال:

python
fruits = ["تفاح", "موز", "عنب"] numbers = [1, 2, 3, 4]

6. القواميس (Dictionaries)

تخزن أزواج من المفتاح والقيمة.

مثال:

python
student = { "name": "سالم", "age": 20, "grade": "A" }

7. المجموعات (Sets) والصفوف (Tuples)

  • المجموعات: تخزن عناصر فريدة بدون ترتيب.

  • الصفوف: تخزن عناصر ثابتة لا يمكن تعديلها.


كيفية تعريف المتغيرات وتعيين القيم في بايثون

يمكن تعريف المتغيرات في بايثون بكتابة اسم المتغير ثم علامة المساواة = ثم القيمة التي نريد تخزينها. هذا يسمى عملية الإسناد.

مثال:

python
x = 5 name = "محمد" price = 10.5

يمكن أيضًا تحديث قيمة المتغير في أي وقت خلال البرنامج:

python
x = 5 x = 10 # القيمة القديمة 5 تُستبدل بـ 10

عند التحديث، لا حاجة لإعادة تعريف نوع المتغير، حيث يعيد بايثون تحديث نوع القيمة تلقائيًا.


المتغيرات المتعددة في سطر واحد

توفر بايثون إمكانية تعريف وتعيين قيم متعددة في سطر واحد، وهو ما يساعد على تقليل عدد الأسطر وتبسيط الكود.

مثال:

python
a, b, c = 1, 2, 3

هنا تم تعريف ثلاث متغيرات في سطر واحد وتعيين القيم 1 و 2 و 3 لكل متغير على التوالي.

كما يمكن تعيين نفس القيمة لعدة متغيرات:

python
x = y = z = 0

هذا يعين القيمة 0 للمتغيرات x, y, و z.


المتغيرات وحجم الذاكرة

بايثون تدير الذاكرة بشكل ديناميكي عند التعامل مع المتغيرات، فلا يحتاج المبرمج لتحديد حجم الذاكرة يدويًا. ومع ذلك، يمكن معرفة حجم المتغير في الذاكرة باستخدام مكتبة sys، والتي تتيح وظيفة getsizeof().

مثال:

python
import sys x = 10 print(sys.getsizeof(x)) # يعرض حجم المتغير x بالبايت s = "مرحبًا" print(sys.getsizeof(s))

هذا يمكن أن يكون مفيدًا عند العمل على برامج تحتاج إلى إدارة دقيقة للذاكرة.


نطاق المتغيرات (Scope)

نطاق المتغير هو الجزء من البرنامج الذي يمكن الوصول فيه إلى المتغير. المتغيرات في بايثون تنقسم إلى نوعين رئيسيين:

1. المتغيرات المحلية (Local Variables)

تعرف داخل الدوال أو الحلقات ولا يمكن استخدامها خارجها.

مثال:

python
def greet(): message = "مرحبًا" print(message) greet() # print(message) # يؤدي إلى خطأ لأن message غير معرفة خارج الدالة

2. المتغيرات العالمية (Global Variables)

تعرف خارج الدوال ويمكن استخدامها داخلها بشرط إخبار الدالة باستخدام global.

مثال:

python
x = 10 def print_x(): global x x = 20 print(x) print_x() print(x) # القيمة أصبحت 20 بعد التغيير داخل الدالة

فهم نطاق المتغيرات مهم جدًا لضمان أن البيانات يتم استخدامها وتعديلها بشكل صحيح دون أخطاء غير متوقعة.


المتغيرات الثابتة (Constants)

بايثون لا توفر طريقة حقيقية لتعريف المتغيرات الثابتة التي لا تتغير قيمتها، ولكن من المتعارف عليه استخدام أسماء متغيرات مكتوبة بحروف كبيرة كنوع من التوثيق للمبرمجين أن هذه القيمة لا يجب تعديلها.

مثال:

python
PI = 3.14159 MAX_USERS = 100

مع أن بايثون لن تمنع تعديل هذه المتغيرات، إلا أن هذا أسلوب شائع في البرامج.


المتغيرات وكتابة الكود النظيف

عند كتابة المتغيرات، يفضل اتباع قواعد واضحة:

  • اختيار أسماء واضحة ومعبرة.

  • استخدام الحروف الصغيرة مع استخدام الشرطات السفلية للفصل (snake_case)، وهو الأسلوب الموصى به في بايثون.

  • تجنب الاختصارات المفرطة التي قد تضلل القارئ.

  • استخدام التعليقات عند الحاجة لتوضيح الغرض من المتغير.


استخدام المتغيرات في العمليات الحسابية والمنطقية

يمكن استخدام المتغيرات في عمليات حسابية بسيطة أو معقدة بسهولة، مما يتيح بناء برامج متقدمة.

أمثلة على العمليات الحسابية:

python
a = 10 b = 5 sum = a + b product = a * b difference = a - b quotient = a / b

عمليات منطقية مع المتغيرات:

python
is_adult = True has_id = False can_enter = is_adult and has_id

المتغيرات في الحلقات والتكرار

في كثير من الأحيان، نحتاج إلى استخدام المتغيرات داخل الحلقات للتحكم في عدد التكرارات أو لتخزين قيم أثناء التنفيذ.

مثال:

python
total = 0 for i in range(1, 11): total += i print(total) # الناتج 55 وهو مجموع الأعداد من 1 إلى 10

مقارنة المتغيرات

بايثون تسمح بمقارنة المتغيرات باستخدام عوامل المقارنة مثل:

  • == للمساواة

  • != لعدم المساواة

  • < أصغر من

  • > أكبر من

  • <= أصغر من أو يساوي

  • >= أكبر من أو يساوي

مثال:

python
a = 5 b = 10 if a < b: print("a أصغر من b")

جدول يوضح أنواع المتغيرات في بايثون مع أمثلة على القيم

نوع المتغير الوصف مثال للقيمة طريقة تعريف المتغير
Integer (عدد صحيح) أعداد بدون فاصلة عشرية 100، -50 x = 100
Float (عدد عشري) أعداد تحتوي على فاصلة عشرية 3.14، -0.001 pi = 3.14
String (نص) نصوص وأحرف "مرحبا"، 'عالم' name = "أحمد"
Boolean (منطقي) قيمتين فقط: True أو False True، False is_valid = True
List (قائمة) مجموعة مرتبة من القيم [1, 2, 3]، ["a", "b", "c"] fruits = ["تفاح", "موز"]
Dictionary (قاموس) أزواج مفتاح وقيمة {"name": "سالم", "age": 20} student = {"name": "سالم"}
Tuple (صفوف) مجموعة ثابتة لا يمكن تعديلها (1, 2, 3) coordinates = (10, 20)
Set (مجموعة) مجموعة من العناصر الفريدة غير مرتبة {1, 2, 3} unique_numbers = {1, 2, 3}

الخلاصة

المتغيرات هي لبنة أساسية في بناء أي برنامج بلغة بايثون. تمتاز بمرونتها وسهولة استخدامها، إضافة إلى تنوع أنواع البيانات التي يمكن تخزينها فيها. من خلال فهم كيفية تعريف المتغيرات، قواعد التسمية، أنواعها المختلفة، ونطاقها، يمكن لأي مبرمج كتابة برامج متينة وفعالة وقابلة للصيانة.

تُسهم الممارسات الجيدة في اختيار أسماء المتغيرات وتنظيمها في تحسين جودة الكود وسهولة التعامل معه، مما يقلل من احتمالية الأخطاء ويوفر الوقت في عمليات التطوير والصيانة المستقبلية.


المراجع