المتغيرات في لغة البايثون، هي اماكن محجوزة في الذاكرة ونسمي تلك الاماكن باسماء المتغيرات ليسهل التعامل معها، وتختلف المساحة التي يحجزها البرنامج للمتغير على حسب نوع المتغيرات.
وتنقسم انواع البيانات في لغة البايثون الى نوعين رئيسين:

  • انواع غير قابلة للتغير immutable: مثل int و float و string و boolean .
  • انواع قابلة للتغير mutable: مثل list و Dictionary و الاصناف التي نعرّفها.

انواع غير قابلة للتغير immutable:

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

تشغيل
# نعرف متغير ونجعل قيمته 10
x = 10
print(id(x)) # نطبع عنوان ذاكرة المتغير

# نغير قيمة المتغير
x = 5
print(id(x)) # نطبع عنوان ذاكرة المتغير

الارقام Numbers

هناك 3 انواع تدعم الارقام في بايثون

  • int : يستخدم مع الارقام الصحيحة
  • float: يستخدم مع الارقام العشرية
  • complex: تستخدم مع الارقام التخيلية

int

يستخدم النوع int لحفظ الارقام الصحيحة الموجبة و السالبة

تشغيل
x = 5
y = -2
z = 546321321

// نطبع نوع المتغير
print(type(x)) // <class 'int'>

float

يستخدم النوع float لحفظ الارقام العشرية الموجبة و السالبة

x = 12.568
y = -2.666

// نطبع نوع المتغير
print(type(x)) // <class 'float'>

complex

تدعم لغة بايثون الارقام التخيلية وهي تستخد م بكثرة من قبل الرياضيين

x = 1+6j
y = -5j

// نطبع نوع المتغير
print(type(x)) // <class 'complex'>

Boolean

يستخدم النوع boolean لتخزين القيم المنطقية: صح (True) و خطأ (False)

x = True
y = False

القيمة True و False تكون ناتج العمليات المنطقية

print( 10 > 9 ) // True 
print( 2 > 9 ) // False

String

يستخدم النوع String لتخزين النصوص، تستخدم علامات التنصيص ” او ‘ لتحديد النصوص واذا كان النص يحتوي على اكثر من سطر نستخدم ”’ ثلاث علامات

x = "Hello World!!"
print(x)
y = 'Hello World!!'
print(y)
z = ''' Hello World.
New Line
Another New Line
 '''
 print(z)
السلاسل (Strings) هو احد اكثر الانواع استخداما لذا سنفرد له درس خاص به.

tuple

تستخدم ال tuples لتحزين قائمة او مجموعة من العناصر، تتميز ال tuples عن ال list بان ال tuples لا تتغير عناصرها او طولها: اي عدد عناصرها، ويكون طريقة كتابتها بوضع العناصر بين ()
x = ( 'text', 11 , 12.5, 'abc' )

# نطبع نوع المتغير
print(type(x)) # <class 'tuple'>
# tuple نطبع العنصر الاول من ال
print(x[0])
# tuple نطبع عدد عناصر/طول ال 
print(len(x))
في البايثون مثل العديد من لغات البرمجة، نبدأ العد من 0 وليس 1، لذا عند طباعة العنصر الاول استخدمنا [x[0

انواع قابلة للتغير mutable:

list

تستخدم ال list ايضا لتحزين قائمة او مجموعة من العناصر، لكنها تتميز عن ال tuples بان ال list يمكن ان تتغير عناصرها و حجمها. ويكون طريقة كتابتها بوضع العناصر بين [] ونفصل فيما بينهم بال “,”

تشغيل
x = ['text', 11 , 12.5, 'abc' ]
# نطبع نوع المتغير
print(type(x)) # <class 'list'>
# نعدل قيمة المتغير الثاني
x[1] = 15
# نضيف عنصر اخر
x.append(2)
# list نطبع ال
print(x)
# list نطبع عدد عناصر/طول ال 
print(len(x))

Dictionary

هو نوع من البيانات يقوم بحفظ البيانات في صورة مفتاح-قيمة key-value، اي اننا نسجل مثلا الطلاب بارقام الجلوس و اسمائهم فيكون فيكون رقم الجلوس هو المفتاح والقيمة هي اسم الطالب، وتكون طريقة كتابتها بوضع العناصر بين {}ونفصل فيما بينهم بال “,”، ويفصل بين المفتاح و القيمة للعناصر بالرمز :

تشغيل
students = {1001:"Ahmad",1002:"Mohammad",1003:"zainab"}

# نطبع نوع المتغير
print(type(students)) # <class 'dict'>
# نطبع اسم الطالب صاحب رقم الجلوس 1002
print(students[1002])

تحويل انواع البيانات Data Types Conversion

نستطيع تحويل انواع بعض المتغيرات من نوع الى اخر، فمثلا اذا كنا نقرأ بيانات من ملف تكون نوع البيانات المقروؤة من نوع string حتى لو كانت البيانات في الملف عبارة عن ارقام، لذلك نحتاج ان نحول الارقام المكتوبة من نوع string الى نوع int مثلا لنستطيع ان نجري عليها بعض العمليات الحسابية

txt_1 = '150'
txt_2 = '20'

print(type(txt_1)) # <class 'string'>
# ينتج عنها ضم الكلمتين string عملية الجمع ما بين 
print(txt_1 + txt_2) # 15020

# نحول النص الى ارقام ونقوم بجمعها
num_1 = int(txt_1)
num_2 = int(txt_2)

print(num_1+num_2)# 170
 لابد عند التحويل من نوع الى اخر ان تكون القيم قابلة للتحويل، فمثلا اذا حاولنا تحويل 'txt' الى رقم سوف يحدث خطأ ويتوقف البرنامج. 

الاتي مجموعة من الدوال التي ممكن استخدامها للتحويل من نوع الى اخر

اسم الدالةالاستخدام
int(x)تحول المتغير x الى النوع int
float(x)تحول المتغير x الى النوع float
bool(x)تحول المتغير x الى النوع boolean
str(x)تحول المتغير x الى النوع string
tuple(x)تحول المتغير x الى النوع tuple
list(x)تحول المتغير x الى النوع list
dict(x)تحول المتغير x الى النوع dictionary

guest
0 تعليقات
Inline Feedbacks
اظهر كل التعليقات