پرش به محتوا

مفهوم شیء در پایتون

از متسین

در پایتون، هرچیزی ([؟] معناء:هرچیزی [آوایش: [[و:هرچیزی|آواثاء:هرچیزی]]؛ تلفظ «هرچیزی»: 📥]) -از داده‌های ساده مثل عدد و رشته، تا ساختارهای پیچمئا ([؟] معناء:پیچمئا [آوایش: [[و:پیچمئا|آواثاء:پیچمئا]]؛ تلفظ «پیچمئا»: 📥]) مثل تابع و نوعپال ([؟] معناء:نوعپال [آوایش: [[و:نوعپال|آواثاء:نوعپال]]؛ تلفظ «نوعپال»: 📥])، و حتی عملپال‌ها ([؟] معناء:عملپال‌ها [آوایش: [[و:عملپال|آواثاء:عملپال‌ها]]؛ تلفظ «عملپال»: 📥]) (مثل == و <=)- همه بکمک ([؟] معناء:بکمک [آوایش: [[و:بکمک|آواثاء:بکمک]]؛ تلفظ «بکمک»: 📥]) شیء بعرفشند ([؟] معناء:بعرفشند.می [آوایش: [[و:عرفشتن|آواثاء:بعرفشند]]؛ تلفظ «عرفشتن»: 📥])؛ و خصاءها [؟ آوایش: [[و:خصاء|آواثاء:خصاءها]] 📥؛ معنی «خصاءها» به فارسی «معناء:خصاءها» و معادل «خصاء» به انگلیسی «عدلاء:خصاء» است] و عملاءهای [؟ آوایش: [[و:عملاء|آواثاء:عملاءهای]] 📥؛ معنی «عملاءهای» به فارسی «معناء:عملاءهای» و معادل «عملاء» به انگلیسی «عدلاء:عملاء» است] هر شیء را نیز نوع اش ([؟] معناء:اش [آوایش: [[و:اش|آواثاء:اش]]؛ تلفظ «اش»: 📥])(ش) (نوعپال ([؟] معناء:نوعپال [آوایش: [[و:نوعپال|آواثاء:نوعپال]]؛ تلفظ «نوعپال»: 📥]) اش ([؟] معناء:اش [آوایش: [[و:اش|آواثاء:اش]]؛ تلفظ «اش»: 📥])(ش)) بعلمد ([؟] معناء:بعلمد.می [آوایش: [[و:علمدن|آواثاء:بعلمد]]؛ تلفظ «علمدن»: 📥]). این طرح، پایتون را توانائده ([؟] معناء:توانائده [آوایش: [[و:توانائدن|آواثاء:توانائده]]؛ تلفظ «توانائدن»: 📥]) که برنامه را عطفما ([؟] معناء:عطفما [آوایش: [[و:عطفما|آواثاء:عطفما]]؛ تلفظ «عطفما»: 📥]) باجرد ([؟] معناء:باجرد [آوایش: [[و:اجریدن|آواثاء:باجرد]]؛ تلفظ «اجریدن»: 📥]).

🛠

پیشز ([؟] معناء:پیشز [آوایش: [[و:پیشز|آواثاء:پیشز]]؛ تلفظ «پیشز»: 📥]) شرحتن ([؟] معناء:شرحتن [آوایش: [[و:شرحتن|آواثاء:شرحتن]]؛ تلفظ «شرحتن»: 📥]) متن بالا، هاید ([؟] معناء:هاید [آوایش: [[و:هاید|آواثاء:هاید]]؛ تلفظ «هاید»: 📥]) بذکریم ([؟] معناء:بذکریم [آوایش: [[و:ذکردن|آواثاء:بذکریم]]؛ تلفظ «ذکردن»: 📥]) که شیءها درواقع ([؟] معناء:درواقع [آوایش: [[و:درواقع|آواثاء:درواقع]]؛ تلفظ «درواقع»: 📥]) داده‌ساختارها [؟ آوایش: [[و:داده‌ساختار|آواثاء:داده‌ساختارها]] 📥؛ معنی «داده‌ساختارها» به فارسی «معناء:داده‌ساختارها» و معادل «داده‌ساختار» به انگلیسی «عدلاء:داده‌ساختار» است] هی ([؟] معناء:هی [آوایش: [[و:هی|آواثاء:هی]]؛ تلفظ «هی»: 📥])(یی) وجوماء ([؟] معناء:وجوماء [آوایش: [[و:وجومائدن|آواثاء:وجوماء]]؛ تلفظ «وجومائدن»: 📥]) در تدک [؟ آوایش: [[و:تدک|آواثاء:تدک]] 📥؛ معنی «تدک» به فارسی «معناء:تدک» و معادل «تدک» به انگلیسی «عدلاء:تدک» است]، و داراء ([؟] معناء:داراء.ی [آوایش: [[و:داراء|آواثاء:داراء]]؛ تلفظ «داراء»: 📥]) «نوع» و «ادرس ([؟] معناء:ادرس [آوایش: [[و:ادرس|آواثاء:ادرس]]؛ تلفظ «ادرس»: 📥])» ئند ([؟] معناء:ئند [آوایش: [[و:ئند|آواثاء:ئند]]؛ تلفظ «ئند»: 📥]):

پرونده:پایتون-غیرپذیر-نمودار-شیء.png

و تاید ([؟] معناء:تاید [آوایش: [[و:تاید|آواثاء:تاید]]؛ تلفظ «تاید»: 📥]) شیءها را به یه ([؟] معناء:یه [آوایش: [[و:یه|آواثاء:یه]]؛ تلفظ «یه»: 📥]) غیرپذیر [؟ آوایش: [[و:غیرپذیر|آواثاء:غیرپذیر]] 📥؛ معنی «غیرپذیر» به فارسی «معناء:غیرپذیر» و معادل «غیرپذیر» به انگلیسی «عدلاء:غیرپذیر» است] بتسبد ([؟] معناء:بتسبد [آوایش: [[و:تسبدن|آواثاء:بتسبد]]؛ تلفظ «تسبدن»: 📥]):

class MyClass:
    def my_method(self):
        pass

my_class = MyClass

mc1 = MyClass()
mc2 = my_class()

print(type(mc1), type(mc2), sep="\n")
خروجی
<class '__main__.MyClass'>
<class '__main__.MyClass'>

شیء معناء:عملپال‌ها (عملپال‌ها)

چنانچه بیِنشت ([؟] معناء:بیِنشت [آوایش: [[و:بیِنشتن|آواثاء:بیِنشت]]؛ تلفظ «بیِنشتن»: 📥])، در پایتون همه‌چیز شیء ئَد ([؟] معناء:ئَد [آوایش: [[و:ئدن|آواثاء:ئَد]]؛ تلفظ «ئدن»: 📥])؛ یا عبرا ([؟] معناء:عبرا [آوایش: [[و:عبرا|آواثاء:عبرا]]؛ تلفظ «عبرا»: 📥])، پایتون همه چیز را بکمک ([؟] معناء:بکمک [آوایش: [[و:بکمک|آواثاء:بکمک]]؛ تلفظ «بکمک»: 📥]) شیء بشعملَد ([؟] معناء:بشعملَد.می [آوایش: [[و:شعملدن|آواثاء:بشعملَد]]؛ تلفظ «شعملدن»: 📥])، حتی عملپال‌ها ([؟] معناء:عملپال‌ها [آوایش: [[و:عملپال|آواثاء:عملپال‌ها]]؛ تلفظ «عملپال»: 📥]) را؛ مثلا، منطق عملپال [؟ آوایش: [[و:عملپال|آواثاء:عملپال]] 📥؛ معنی «عملپال» به فارسی «معناء:عملپال» و معادل «عملپال» به انگلیسی «عدلاء:عملپال» است] == بوسیله ([؟] معناء:بوسیله [آوایش: [[و:بوسیله|آواثاء:بوسیله]]؛ تلفظ «بوسیله»: 📥]) شیء (عملاء [؟ آوایش: [[و:عملاء|آواثاء:عملاء]] 📥؛ معنی «عملاء» به فارسی «معناء:عملاء» و معادل «عملاء» به انگلیسی «عدلاء:عملاء» است]) __eq__ عملشد ([؟] معناء:عملشد.می [آوایش: [[و:عملشتن|آواثاء:عملشد]]؛ تلفظ «عملشتن»: 📥]):

a = 100
b = 100

print(f"a == b -> {a == b}", f"a.__eq__(b) -> {a.__eq__(b)}", sep="\n")
خروجی
a == b -> True
a.__eq__(b) -> True
⚠︎دقت. پایتون هنگام سلکتن ([؟] معناء:سلکتن [آوایش: [[و:سلکتن|آواثاء:سلکتن]]؛ تلفظ «سلکتن»: 📥]) (با) a == b، ابتدا عملاء [؟ آوایش: [[و:عملاء|آواثاء:عملاء]] 📥؛ معنی «عملاء» به فارسی «معناء:عملاء» و معادل «عملاء» به انگلیسی «عدلاء:عملاء» است] __eq__ عملوند [؟ آوایش: [[و:عملوند|آواثاء:عملوند]] 📥؛ معنی «عملوند» به فارسی «معناء:عملوند» و معادل «عملوند» به انگلیسی «عدلاء:عملوند» است] سمت چپ، a.__eq__(b)، و درصورت ([؟] معناء:درصورت [آوایش: [[و:درصورت|آواثاء:درصورت]]؛ تلفظ «درصورت»: 📥]) بروزدن ([؟] معناء:بروزدن [آوایش: [[و:بروزدن|آواثاء:بروزدن]]؛ تلفظ «بروزدن»: 📥]) مگراء ([؟] معناء:مگراء [آوایش: [[و:مگراء|آواثاء:مگراء]]؛ تلفظ «مگراء»: 📥]) NotImplemented، عملاء [؟ آوایش: [[و:عملاء|آواثاء:عملاء]] 📥؛ معنی «عملاء» به فارسی «معناء:عملاء» و معادل «عملاء» به انگلیسی «عدلاء:عملاء» است] __eq__ عملوند [؟ آوایش: [[و:عملوند|آواثاء:عملوند]] 📥؛ معنی «عملوند» به فارسی «معناء:عملوند» و معادل «عملوند» به انگلیسی «عدلاء:عملوند» است] سمت راست، b.__eq__(a)، را بشحضرَد ([؟] معناء:بشحضرَد.می [آوایش: [[و:شحضردن|آواثاء:بشحضرَد]]؛ تلفظ «شحضردن»: 📥]):
class MyNumber:
    def __init__(self, value):
        self.value = value

    def __eq__(self, other):
        print("MyNumber.__eq__ called")
        if isinstance(other, MyNumber):
            return self.value == other.value
        return NotImplemented

class OtherNumber:
    def __init__(self, value):
        self.value = value

    def __eq__(self, other):
        print("OtherNumber.__eq__ called")
        return True

a = MyNumber(10)
b = OtherNumber(10)

print(a == b)
خروجی
MyNumber.__eq__ called
OtherNumber.__eq__ called
True
⚠︎دقت. چون عملپال‌ها [؟ آوایش: [[و:عملپال|آواثاء:عملپال‌ها]] 📥؛ معنی «عملپال‌ها» به فارسی «معناء:عملپال‌ها» و معادل «عملپال» به انگلیسی «عدلاء:عملپال» است] شیء ئند ([؟] معناء:ئند [آوایش: [[و:ئدن|آواثاء:ئند]]؛ تلفظ «ئدن»: 📥])، پس تاید ([؟] معناء:تاید [آوایش: [[و:تاید|آواثاء:تاید]]؛ تلفظ «تاید»: 📥]) مانند زیر آن‌ها را به یه ([؟] معناء:یه [آوایش: [[و:یه|آواثاء:یه]]؛ تلفظ «یه»: 📥]) غیرپذیر [؟ آوایش: [[و:غیرپذیر|آواثاء:غیرپذیر]] 📥؛ معنی «غیرپذیر» به فارسی «معناء:غیرپذیر» و معادل «غیرپذیر» به انگلیسی «عدلاء:غیرپذیر» است] بتسبد ([؟] معناء:بتسبد [آوایش: [[و:بتسبد|آواثاء:بتسبد]]؛ تلفظ «بتسبد»: 📥]):
a = 100
b = 100

a_eq = a.__eq__

print(a == b, a_eq(b))
خروجی
True True

شیء معناء:نوعپال‌ها (نوعپال‌ها)

در پایتون، نوعپال‌ها [؟ آوایش: [[و:نوعپال|آواثاء:نوعپال‌ها]] 📥؛ معنی «نوعپال‌ها» به فارسی «معناء:نوعپال‌ها» و معادل «نوعپال» به انگلیسی «عدلاء:نوعپال» است] شیءها هی ([؟] معناء:هی [آوایش: [[و:هی|آواثاء:هی]]؛ تلفظ «هی»: 📥])(یی) از نوع type ئند ([؟] معناء:ئند [آوایش: [[و:ئدن|آواثاء:ئند]]؛ تلفظ «ئدن»: 📥]):

class MyClass:
    def my_method(self):
        pass

print(type(MyClass))
خروجی
<class 'type'>
⚠︎دقت. دلماءهای [؟ آوایش: [[و:دلماء|آواثاء:دلماءهای]] 📥؛ معنی «دلماءهای» به فارسی «معناء:دلماءهای» و معادل «دلماء» به انگلیسی «عدلاء:دلماء» است] یه ([؟] معناء:یه [آوایش: [[و:یه|آواثاء:یه]]؛ تلفظ «یه»: 📥]) نوعپال ([؟] معناء:نوعپال [آوایش: [[و:نوعپال|آواثاء:نوعپال]]؛ تلفظ «نوعپال»: 📥]) نیز شیءها هی ([؟] معناء:هی [آوایش: [[و:هی|آواثاء:هی]]؛ تلفظ «هی»: 📥])(یی) از نوع نوعپال ([؟] معناء:نوعپال [آوایش: [[و:نوعپال|آواثاء:نوعپال]]؛ تلفظ «نوعپال»: 📥]) هه ([؟] معناء:هه [آوایش: [[و:هه|آواثاء:هه]]؛ تلفظ «هه»: 📥]) ئند ([؟] معناء:ئند [آوایش: [[و:ئدن|آواثاء:ئند]]؛ تلفظ «ئدن»: 📥])؛ عبرا ([؟] معناء:عبرا [آوایش: [[و:عبرا|آواثاء:عبرا]]؛ تلفظ «عبرا»: 📥])، همه نوعپال‌ها [؟ آوایش: [[و:نوعپال|آواثاء:نوعپال‌ها]] 📥؛ معنی «نوعپال‌ها» به فارسی «معناء:نوعپال‌ها» و معادل «نوعپال» به انگلیسی «عدلاء:نوعپال» است] و دلماءهای [؟ آوایش: [[و:دلماء|آواثاء:دلماءهای]] 📥؛ معنی «دلماءهای» به فارسی «معناء:دلماءهای» و معادل «دلماء» به انگلیسی «عدلاء:دلماء» است] هر نوعپال ([؟] معناء:نوعپال [آوایش: [[و:نوعپال|آواثاء:نوعپال]]؛ تلفظ «نوعپال»: 📥]) همه شیء ئند ([؟] معناء:ئند [آوایش: [[و:ئدن|آواثاء:ئند]]؛ تلفظ «ئدن»: 📥]):
class MyClass:
    def my_method(self):
        pass

my_obj = MyClass()

print(type(my_obj))
خروجی
<class '__main__.MyClass'>