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