الكورس

Advertisements

Python Classes and Objects


Python هي لغة برمجة (Objects Oriented Programming (OOP موجهة للكائنات، على عكس البرمجة الموجهة نحو الإجراءات procedure oriented programming، حيث ينصب التركيز الرئيسي على Functions، فإن البرمجة الشيئية تركز على الكائنات objects.

الكائن (object) هو ببساطة مجموعة من البيانات (variables) والأساليب (functions) التي تعمل على هذه البيانات. وبالمثل ، تعد الـ class مخططًا لذلك الكائن.


 

Define a Class

 

الـ class مشابه جدًا لـ function، حيث تبدأ تعريفات الـ functions بالكلمة الأساسية def، وتبدأ تعريفات الـ class بالكلمة الرئيسية class.

مثال للتوضيح:

class yourClass:
  age = 20

 

Create Object

 

يمكن استخدام كائن(object) الفئة (class) للوصول إلى سمات مختلفة.

الآن يمكننا استخدام إسم الفئة (yourClass) لإنشاء objects (يشبه هذا الإجراء استدعاء دالة).

مثال للتوضيح:

y = yourClass()
print(y.age)

 

init__() Function__

 

()__init __  هي دالة built-in في Python ، يتم استدعاؤها كلما تم إنشاء كائن object.

()__init __  هى تهيئة حالة الكائن، بمعنى أنه مكان يمكننا فيه تحديد الحالة الأولية أو الأولية للكائن.

يمكننا أيضًا تمرير arguments إلى دالة ()__init __، بحيث يمكن إنشاء كل كائن عند إنشائه على أنه Unique (فريد).

إذا لم يتم تعريف دالة ()__init __ في الـ class ، فسيكون هناك استدعاء built-in لوظيفة ()__init __ .

 

مثال للتوضيح:

class user:
	
	def __init__(name, mail, gender):
		self.name = name
		self.mail = mail
		self.gender = gender
		
user_f = user('Hamed', '[email protected]', 'male')

print(user_f.name)
print(user_f.mail)
print(user_f.gender)

💡 ملاحظات:

 

  1. دالة () __init __ تُهيأ الـ parameters ، مع تمرير القيم كـ arguments لها.
  2. تم تنفيذ جزء declaration (الإعلان) من parameters للفئة داخل دالة ()__init __ .
  3. يمكن الوصول إلى الـ parameters في طرق أخرى للفئة وكذلك مع مرجع الكائن.

 

Object Methods

 

يمكن أن تحتوي الكائنات أيضًا على methods.

الـ methods في الكائنات هي functions تنتمي إلى الكائن objects.

مثال للتوضيح:

class user:
	
	def __init__(name, mail, gender):
		self.name = name
		self.mail = mail
		self.gender = gender
		
	def details(self):
		print('The details of the user are:')
		print('Name         :', self.name)
		print('Mail         :', self.mail)
		print('Gender :', self.gender)
		
# Create object
user_f = user('Hamed', '[email protected]', 'male')

print(user_f.name)
print(user_f.mail)
print(user_f.gender)

user_f.details()

💡 ملاحظة: parameter الـ self هي مرجع إلى المثيل الحالي للفئة class، وتستخدم للوصول إلى المتغيرات التي تنتمي إلى الفئة.


 

pass ] Statement ]

 

لا يمكن أن تكون تعريفات الـ classes فارغة ، ولكن إذا كان لديك تعريف class مع عدم وجود محتوى لسبب ما ، فضع كلمة pass لتجنب الحصول على خطأ.

مثال للتوضيح:

class user:
	pass

 

💡 يمكنك التحكم الكامل فى الـ objects:

  1. التعديل على خصائص الكائن (modify object properties).
  2. حذف خصائص الكائن (delete object properties).
  3. حذف الكائن (delete object).

أمثلة للتوضيح:

# Modify properties on objects (Set the name of user_f to "Mohamed")
user_f.name = "Mohamed"

# Delete properties on objects by using the (del) keyword
del user_f.name

# Delete objects by using the (del) keyword
del user_f

 

💡 الزتونة

 

  1. الكائن (object) هو ببساطة مجموعة من البيانات (variables) والأساليب (functions) التي تعمل على هذه البيانات. وبالمثل ، تعد الـ class مخططًا لذلك الكائن.
  2. الـ class مشابه جدًا لـ function، حيث تبدأ تعريفات الـ functions بالكلمة الأساسية def، وتبدأ تعريفات الـ class بالكلمة الرئيسية class.
  3. يمكن استخدام كائن(object) الفئة (class) للوصول إلى سمات مختلفة.
  4. لا يمكن أن تكون تعريفات الـ classes فارغة ، ولكن إذا كان لديك تعريف class مع عدم وجود محتوى لسبب ما ، فضع كلمة pass لتجنب الحصول على خطأ.

 



الإبلاغ عن خطأ

×

إذا وجد خطأ وتريد الإبلاغ عن هذا الخطأ، أو إذا كنت تريد تقديم اقتراح على شىء معين، فلا تتردد في إرسال بريد إلكتروني إلينا:

[email protected]

شكرًا لك على مساعدتك لنا!

Advertisements