القائمة الرئيسية

الصفحات

بايثون الدرس الثاني المتغيرات variables وانواعها

بايثون المتغيرات وانواعها - كورس برمجة بايثون بالعربي


الدرس الثانى من سلسلة تعلم لغة البرمجة بايثون شرح المتغيرات وانواعها :

هذا البرنامج التعليمي سوف يعرض بعض من ألانواع ألاساسية من المتغيرات في لغة البرمجة بايثون.
ملاحظه :

  • علامة الـــ ( # ) تستخدم لوضع تعليق للقراءه البشريه فقط ولا يعمل مع البرنامج.
  • جميع الاكواد الاخرى سوف نتطرق اليها فى دروس قادمه فقط ركز على الــ variables.
  • يمكنك تجربة الكود والتعديل عليه عن طريق محرر التجربه بالاسفل.

اهم المصطلحات في درس بايثون المتغيرات وانواعها:

  • متغير - variable (var).
  • نص - (str) String.
  • عدد صحيح - Integer (int).
  • عدد عشري - Float.
  • صحيح - True.
  • خاطيء - False.
  • عام - global.

ما هو المتغير او variable فى لغة البرمجة بايثون ؟

في برمجة الحاسوب، المتغير (بالإنجليزية variable) والاختصار ( var ) :-

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

اسم المتغير هو الطريقة الاعتيادية للرجوع إلى القيمة المخزنة.

معنى هذا الكلام ان المتغير هو وعاء او خزان لتخزين البيانات سواء كانت ارقام او نصوص او اختصار لداله ونحصل على تلك البيانات عبر اسم المتغير.

انشاء المتغيرات بايثون

لا تملك بايثون أي أمر للتصريح عن متغير.

بيثون هى لغة برمجه كائنية التوجه ، أنت لا تحتاج إلى الاعلان عن المتغيرات قبل استخدامها، أو ان تعلن عن نوعها. كل متغير في بيثون هو كائن يتم انشائة بمجرد اضافة قيمة له.

يتم إنشاء المتغير في اللحظة التي تقوم فيها بتعيين قيمة له لأول مرة.

مثال:

x = 200
y = "hello"
print(x)
print(y)

في بايثون لا يلزم التصريح عن المتغيرات بأي نوع معين ، بل يمكن تغيير نوعها بعد تعيينها.

بمعني انه اذا اردت انشاء متغير يقوم بتخزين نص فما عليك سوي اضافة النص مباشرتا الى المتغير, وسوف تتعرف بايثون على نوع المتغير من القيمة المخزنة به تلقائياً وهذا ايضاً مع الارقام والانواع الاخري.

مثال:

x = 16 # هذا المتغير الان من النوع رقم
y = "ahmed" # هذا المتغير الان من النوع نص

يمكن تحويل قيمة نصية الي قيمة عددية باستخدام الدوال التالية:

تحويل رقم الي نص

str()

تحويل نص الي رقم

int()

مثال:

x = "22" # String # هذا المتغير الان متغير نصي وليس رقمي لاحتوائة علي علامات تنصيص

y = 55 # Integer # هذا المتغير الان رقمي لان القيمة 55 ليست بداخل علامات تنصيص

c = 2.6 # Float # هذا متغير رقمي ينتمي للارقام العشرية والتي تحتوي على فاصلة

# ان حاولنا جمع المتغيرين فسوف يحدث خطا بسبب استخدام عملية الجمع على نص ورقم ولحل تلك المشكلة يجب تحويل النص الي رقم

z = int(x) + y # هنا قمنا بتحويل متغير اكس الي رقم وبذالك سوف يتم جمع قيمة المتغيرين بدون اخطاء

print(z)

تحديد نوع قيمة المتغير عند الانشاء:

إذا كنت تريد تحديد نوع بيانات متغير ، فيمكن القيام بذلك عن طريق الصب.

مثال:

x = str(55)
y = int("55")
z = float(55)

في المثال السابق قيمة متغير x سوف تصبح "55" وقيمة متغير y سوف تصبح 55 وقيمة متغير z سوف تصبح 55.0 وبذالك تم اختيار نوع القيمة اثناء انشاء المتغير.

معرفة نوع المتغير:

يمكنك الحصول على نوع بيانات المتغير باستخدام دالة type().

في بعض الاحيان نرغب في معرفة نوع البيانات المخزنة داخل المتغير ولفعل ذالك نستخدم داله النوع - type.

مثال:

x = 55
print(type(x))

في المثال السابق قيمة متغير x هي عدد صحيح integer واختصارها int , وعلي هذا الاساس دالة الطباعة print سوف تطبع int .

للاعلان عن متغير نصي هل نستخدم علامة تنصيص مزدوجة او فردية؟

يمكن الإعلان عن متغيرات النصوص إما باستخدام علامات تنصيص مفردة أو مزدوجة.

مثال:

x = "ahmed"
# هو نفس الشيء مع التالي
y = 'ahmed'

حالة الاحرف في اسماء المتغيرات

أسماء المتغيرات حساسة لحالة الأحرف.

مثال:

x = 22
# هو متغير مختلف تماما عن التالي
X = 11
# وعلي هذا الاساس المتغير التالي
username = "ahmed"
# هو متغير مختلف عن التالي
UserName = "mohamed"

فالحروف الكبيرة والصغيره تجعل المتغير حتي, وان كان يمتلك نفس الاسم يكون متغير مختلف عن شبيهه ولكن بحالة احرف مختلفة.

شروط تسمية المتغيرات ( Variables ) في بايثون :

أسماء المتغير:

يمكن أن يكون للمتغير اسم قصير (مثل x او y) أو اسم وصفي أكثر (العمر ، اسم السيارة ، إجمالي الحجم).

قواعد اسماء متغيرات بايثون:

  • يجب أن يبدأ اسم المتغير بحرف أو بشرطة سفلية.
  • لا يمكن أن يبدأ اسم المتغير برقم.
  • لا يمكن أن يحتوي اسم المتغير إلا على أحرف أبجدية رقمية وشرطات سفلية ( A-z و0-9 و _ ).
  • أسماء المتغيرات حساسة لحالة الأحرف var متغير مختلف عن VAR.

اسم المتغير (Variable) يمكن ان يكون اى اسم بشرط ان يبدا بحرف او ( _ ) ولا يمكن ان يكون اسم مستخدم من قبل بايثون مثل print وغيرها.

مثال على اسماء المتغيرات في لغة البرمجة بايثون :

_first_name = "ahmed"
last_name = "mohamed"
firstName = "ahmed"
LastName = "gamal"
age = 21
Age = 18
aGe = 12

اسماء متغيرات غير مسموح بها:

  • كتابة رقم في بداية اسم المتغير.
  • او اضافة ( - ) في اسم المتغير.
  • وغير مسموح بترك مسافة فارغة بين حروف اسم المتغير.
# اسماء المتغيرات التالية غير صالحة
5firstname = "ahmed"
first-name = "ahmed"
first name = "ahmed"

أسماء متغيرات متعددة الكلمات واساليب كتابتها:

قد يكون من الصعب قراءة اسماء المتغيرات التي تحتوي على أكثر من كلمة واحدة.

هناك العديد من الأساليب التي يمكنك استخدامها لجعلها أكثر قابلية للقراءة:

حالة الجمل
تبدأ كل كلمة ، باستثناء الأولى ، بحرف كبير:

firstName = "mohamed"
lastName = "ahmed"
fullName = "mohamed ahmed"

حالة باسكال
تبدأ كل كلمة بحرف كبير:

FirstName = "mohamed"
LastName = "ahmed"
FullName = "mohamed ahmed"

حالة الأفعى
كل كلمة مفصولة بشرطة سفلية:

first_name = "mohamed"
last_name = "ahmed"
full_name = "mohamed ahmed"

تعيين قيم متعددة

تتيح لك Python تعيين قيم لمتغيرات متعددة في سطر واحد:
العديد من القيم لمتغيرات متعددة
يجب ان تكون عدد القيم مثل عدد المتغيرات.

first_name, last_name, full_name = "mohamed", "ahmed", "mohamed ahmed"
print(first_name)
print(last_name)
print(full_name)

قيمة واحدة لمتغيرات متعددة

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

first_name = last_name = full_name = "ahmed"
print(first_name)
print(last_name)
print(full_name)

فك مجموعة
إذا كانت لديك مجموعة من القيم في list ، او tuple إلخ.

تتيح لك Python استخراج القيم إلى متغيرات.

وهذا ما يسمى التفريغ.

Name = ["mohamed", "ahmed", "osama"]
first_name, last_name, full_name = Name
print(first_name)
print(last_name)
print(full_name)

متغيرات الإخراج
غالبًا ما يتم استخدام جملة الطباعة في بايثون لإخراج المتغيرات print.

تستخدم بايثون معامل الجمع + لدمج النص والمتغير:

name = "ahmed"
print("welcome " + name)

يمكن ايضاً استخدام معامل الجمع + لدمج نص متغير مع نص متغير اخر.

firstName = "ahmed"
lastName = "mohamed"
print(firstName + lastName)
# ولاضافة مسافة فارغة بين نص المتغيرين
print(firstName + " " + lastName)
# ويمكن ايضاً اضافة المتغيرين الي متغير جديد
FullName = firstName + " " + lastName
print(FullName)

بالنسبة للأرقام ، يعمل الحرف + كمعامل رياضي:

x = 5
y = 5
print(x + y)
# وناتج هذه العملية هو 10 لان الجمع هنا بين رقمين وليس نصين

لاحظ ايضاً انه إذا حاولت الجمع بين نص ورقم ، فسوف تعطيك بايثون خطأ جمع رقم مع نص:

x = 5
y = "string"
print(x + y)
# وسوف يظهر خظأ كالتالي
TypeError: unsupported operand type(s) for +: 'int' and 'str'

بايثون المتغيرات وانواعها : المتغيرات العالمية - Global Variables

تعرف المتغيرات التي يتم إنشاؤها خارج دالة (كما في جميع الأمثلة أعلاه) باسم المتغيرات العامة.

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

مثال:
أنشئ متغيرًا خارج دالة ، واستخدمه داخل الدالة

name = "ahmed"
def checkName():
print("hello " + name)
checkName()

إذا قمت بإنشاء متغير بنفس الاسم داخل دالة ، فسيكون هذا المتغير محليًا ، ولا يمكن استخدامه إلا داخل الدالة.

سيبقى المتغير العام الذي يحمل نفس الاسم كما كان ، عالميًا وبالقيمة الأصلية.

مثال:

إنشاء متغير داخل دالة ، بنفس اسم المتغير العام.

# المتغير التالي متغير عام او عالمي global
name = "ahmed"
def checkName():
# المتغير التالي متغير محلي يمكن استخدمة هنا فقط داخل الداله
name = "ahmed mohamed"
# الطباعة التالية تطبع المتغير المحلي
print("hello " + name)
checkName()
# الطباعة التالية تطبع المتغير العالمي
print("welcome " + name)

تعريف متغير عالمي او عام داخل دالة باستعمال الكلمة global
عادةً ، عندما تنشئ متغيرًا داخل دالة ، يكون هذا المتغير محليًا ، ولا يمكن استخدامه إلا داخل هذه الدالة.

لإنشاء متغير عام داخل دالة ، يمكنك استخدام الكلمة global.

إذا كنت تستخدم الكلمة global ، فإن المتغير ينتمي إلى النطاق العام ، ويمكن استخدامة خارج الدلة:

مثال:

# انشاء دالة
def names():
# التصريح عن متغير عالمي
global FName
# اضافة قيمة للمتغير
FName = "ahmed"
# استدعاء الدالة
names()
# طباعة المتغير العالمي الموجود داخل الدالة السابقة
print('name is : ' + FName)

أيضًا ، استخدم الكلمة الأساسية العالمية global إذا كنت تريد تغيير متغير عام داخل دالة.

لتغيير قيمة متغير عام داخل دالة ، ارجع إلى المتغير باستخدام الكلمة الأساسية العامة global:

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

# انشاء المتغير خارج الدالة
FName = "mohamed"
# انشاء دالة
def names():
# التصريح عن متغير عالمي
global FName
# اضافة قيمة للمتغير
FName = "ahmed"
# استدعاء الدالة
names()
# طباعة المتغير العالمي الموجود داخل الدالة السابقة
print('name is : ' + FName)

توضيح:

# متغير يحتوى على نص ويجب ان يكون بين علامتي تنصيص ("")
_first_name = "احمد"
last_name = "محمد"
# متغير يحتوى على رقم لا تستخدم علامات التنصيص
age = 21
# دمج نص مع رقم
print('عمرى : ' + str(age))
print('اسمى : ' + _first_name+' '+last_name)

# متغير يحتوى على فاصلة عائمة
print("-----------")
score = 7.0
print(score)

score = float(14/2)
print(score)

# تخزين مصفوفه فى متغير
print("-----------")
week = [day for day in range(1,8)]
print(week)

# حساب مجموع متغيرين
print("-----------")
x = 2 * 5 - 3 + 4
y = 3 * 3 * 5 + 2
print(x + y)

متغيرات الارقام (Numbers) فى بايثون

بيثون يدعم نوعين من الأرقام - أعداد صحيحة وأرقام النقطة العائمة. (كما أنها تدعم الأرقام المعقدة).

للاعلان عن متغير يحتوى على عدد صحيح، نكتب التالي:

age = 7
print(age)

هنا لم نقم بتحديد نوع المتغير لان بيثون تتعرف على نوع المتغير من قيمته او محتواة وفى المتغير السابق نوع المتغير رقم (int) لان محتواة رقم ( 7 ) .

الارقام التى تحتوى على فاصلة عائمة (.)

لانشاء او تحويل نوع متغير يحتوى على رقم عشرى نستخدم الاساليب التاليه:
score = 7.0 # اضافة قيمة عشرية مباشرتاً

print(score)
Num = 8
score = float(Num) # او تحويل قيمة صحيحة الي قيمة عشرية # Integer To Float
print(score)

المتغيرات المنطقية ( Booleans ) في بايثون :

المتغيرات المنطقية هي عبارة عن صح او خطا وهي تستخدم للاجابة عن الاسئلة والشروط المنطقية:-
فعلى سبيل المثال:
هل 1 = 1 والنتيجة سوف تكون True او هل 1 = 2 والنتيجة سوف تكون False.

يتم تعريف المتغيرات المنطقية فقط بـ (True - False)

مثال على تعريف متغير منطقي booleans في بايثون

cond = True
cond2 = False

مثال على اجراء عمليات مع المتغيرات المنطقية:

# لاحظ هنا الحرف الاول حرف كبير
cond1 = True
cond2 = False

# اختبار المتغير الاول بدالة الشرط
if cond1:
print('الشرط صحيح')
# True وبما ان المتغير يملك القيمة المنطقية
# فسوف يتم الطباعه

# اختبار المتغير الثاني بدالة الشرط
if cond2:
print('الشرط خطا')
# False وبما ان المتغير يملك القيمة المنطقية
# فلن تتم طباعة الجملة

# اختبار المتغير الثاني بدالة الشرط مع النفي
if not cond2:
print('الشرط صحيح')
# False وبما ان المتغير يملك القيمة المنطقية
# True والشرط يقول اذا لم يكن المتغير
# اذا الشرط صحيح وسوف تطبع الجملة

# ايضا يمكن الاختبار كالتالي
if cond1 == True:
print('الشرط صحيح')
# True وبما ان المتغير يملك القيمة المنطقية
# فسوف يتم الطباعه

# ايضا يمكن الاختبار كالتالي
if cond1 != True:
print('الشرط صحيح')
# True وبما ان المتغير لا يملك القيمة المنطقية
# فسوف يتم الطباعه
تم استخدام دالة الشرط وبعض المعاملات المنطقية وهذا سوف نتطرق له في الدروس القادمة.

الي هنا نكون قد انتهينا من شرح المتغيرات في بايثون python variable.

تجربة المتغيرات المنطقية مع دالة الشرط if

اختبار:
قم بتعريف متغير من كل نوع (string - integer - float)

الانتقال الى الدرس التالى (اساسيات العوامل الحسابيه)



تعليقات

التنقل السريع