الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ماهو المتغير self

بدأه m ahmed في 22 مايو 2014 · 7 رد · 2,225 مشاهدة · في لغة Python
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ماهو المتغير self في بايثون ومتى استخدمه؟

#2

self ليس متغير,

 

للمتغيرات إستعمال واحد و وحيد و هو تحزين قيم معينة

 

x=12

 

هنا x متغير يحمل القيمة 12

 

لا يمكن للمتغيرات أن تحمل أسماء الأسماء المحجوزة مثل print while for ....ect

 

بينما self  كلمة محجوزة, تستخدم في البرمجة الكائنية الموجهة,

 

و لتعرف استعمال self في البرمجة الكائنية الموجهة

 

إليك هذا الرابط: when do use 'self

#3

self ليست كلمة محجوزة في بايثون، بل فقط اسم يطلق غالباً على للمعامل الأول الذي يمرر للوظيفة، يمكن تسميته أي اسم، مثلاً this:

 

class Klass:    def method(this):        print(this.name)

 

وسيعمل عادي:

 

>>> o = Klass()
>>> o.name = 'Mr.B'
>>>
>>> o.method()
Mr.B
>>>

 

إلا أن self الإسم الشائع. وظيفتها أنها تشير للكائن نفسه، في المثال أنشأنا كائن o، في كل مره تستدعي method فإن بايثون ستمرر o ضمنياً في أول معامل.

تم تعديل هذه المشاركة بواسطة Mr.B في 22 مايو 2014 في 19:54

3
#4

self ليست كلمة محجوزة لكنه مثل ال methode و class ليست كلمات محجوزة للغة

 

لكن لها دلالاتها بالنسبة كالكلمات المحجوزة

 

لقد وصفتها بأتها كلمة محجوزة حتي أبسط الفهم فقط

1
#5
نعم self ليست محجوزة 

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

#6

الآن فهمت شكرا لكم :)

#7
Mr.B كتب:

self ليست كلمة محجوزة في بايثون، بل فقط اسم يطلق غالباً على للمعامل الأول الذي يمرر للوظيفة، يمكن تسميته أي اسم، مثلاً this:

class Klass:    def method(this):        print(this.name)

وسيعمل عادي:

>>> o = Klass()
>>> o.name = 'Mr.B'
>>>
>>> o.method()
Mr.B
>>>

إلا أن self الإسم الشائع. وظيفتها أنها تشير للكائن نفسه، في المثال أنشأنا كائن o، في كل مره تستدعي method فإن بايثون ستمرر o ضمنياً في أول معامل.

 هل this  في الجافا لها نفس عمل self  في البايثون أي نفس المهمة

#8

this في جافا هي self في بايثون

عندما تنفذ كود مثل

ahmed=Human('ahmed', 25)ahmed.say_hi()

فيحدث تحويل للكود إلى 

Human.say_hi(ahmed, ....)

وعليه فأول معامل يشير للكائن الحالي

2
(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

مواضيع مشابهة