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

لماذا نضع self فى هذا الكود

بدأه mostafayasin في 24 أكتوبر 2014 · 2 رد · 1,463 مشاهدة · في لغة Python
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رجمة الله و بركاته

 

إليكم الكود

import sys
from PyQt4 import QtGui
class Example(QtGui.QWidget):
    def __init__(self):
            super(Example, self).__init__()
            self.initUI()
        
    def initUI(self):
        self.btn = QtGui.QPushButton('Dialog',self)
        self.btn.move(20, 20)



        self.btn.clicked.connect(self.showDialog)

        self.le = QtGui.QLineEdit(self)
        self.le.move(130, 22)




        self.setGeometry(300, 300, 290, 150)
        self.setWindowTitle('Input dialog')
        self.show()
        
    def showDialog(self):
        text, ok =QtGui.QInputDialog.getText(self, 'InputDialog','Enter your name:')
        if ok:
            self.le.setText(text)



def main():
    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
if __name__ == '__main__':
    main()

لماذا نضع self قبل تعريف الزر و كذك قبل تعريف ال LineEdit ؟؟؟ مع إن فى أكواد أخرى لا نكون مضطرين لذلك ؟

#2

self تعبر عن الكائن الحالي كثير من اللغات لاتضيفها اثناء تعريف ال methods ولكن بايثون تقوم بإضافتها كأول عنصر دائما لل instance methods 

 

عندما تقول فإذا كان لديك كائن يسمى h1 وهو من الصف Human واستدعيت الmethod مثلا eat

h1.eat()

فسيتم تحويل ذلك الكود إلى

Human.eat(h1)
(map share people)

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

#3

لكي يتم استدعائه في اي مكان من المشروع  

تم تعديل هذه المشاركة بواسطة safwan_alhassi في 13 أغسطس 2016 في 15:53

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