PYHINTS Telegram 334
قبل از اینکه بریم سراغ تصویر :
یک مفهومی داریم توی پایتون به اسم
Static Duck Typing
حدس زدید دیگه تا الان ترکیبی هست از
Static typing, duck typing
استفاده‌اش؛ اجازه میده Interface رو طوری تعریف کنیم که کلاس‌های مختلفی رو بشه بجاش استفاده کرد.
اما تصویر بالا؛ فرض کنید شما می‌خواید یک Interface بسازید و مهمتر از اون می‌خواید
runtime type checking 

رو هم داشته باشه اما Interface شما سختگیری ABC های موجود رو لازم نداره (می‌دونیم که تعریف abc هم کار درستی نیست توی ۹۹٪ موارد).

مثال بزنم شاید بهتر درک بشه :
collections.abc.MutableSequence
رو در نظر بگیرید؛ و فرض کنید Interface من که قرار هست runtime checking هم داشته باشه نیاز به ۳ تا متد داره :
__len__, __getitem__, __setitem__
میخوام مطمئن بشم هرکسی هر موردی رو بهم تحویل میده بعنوان Instance ایی از Interface باید حتما هر ۳ تا این متد‌ها رو پیاده‌سازی کرده باشه Hard Rule هست برای عملکرد درست کدهام برخلاف Duck typing که soft rule هست و دیدیم که می‌گه اگر نیازی به این متد نداری پس پیاده‌سازی نشدنش هم مشکلی نداره.

ادامه پست بعدی
👍20



tgoop.com/pyHints/334
Create:
Last Update:

قبل از اینکه بریم سراغ تصویر :
یک مفهومی داریم توی پایتون به اسم
Static Duck Typing
حدس زدید دیگه تا الان ترکیبی هست از
Static typing, duck typing
استفاده‌اش؛ اجازه میده Interface رو طوری تعریف کنیم که کلاس‌های مختلفی رو بشه بجاش استفاده کرد.
اما تصویر بالا؛ فرض کنید شما می‌خواید یک Interface بسازید و مهمتر از اون می‌خواید
runtime type checking 

رو هم داشته باشه اما Interface شما سختگیری ABC های موجود رو لازم نداره (می‌دونیم که تعریف abc هم کار درستی نیست توی ۹۹٪ موارد).

مثال بزنم شاید بهتر درک بشه :
collections.abc.MutableSequence
رو در نظر بگیرید؛ و فرض کنید Interface من که قرار هست runtime checking هم داشته باشه نیاز به ۳ تا متد داره :
__len__, __getitem__, __setitem__
میخوام مطمئن بشم هرکسی هر موردی رو بهم تحویل میده بعنوان Instance ایی از Interface باید حتما هر ۳ تا این متد‌ها رو پیاده‌سازی کرده باشه Hard Rule هست برای عملکرد درست کدهام برخلاف Duck typing که soft rule هست و دیدیم که می‌گه اگر نیازی به این متد نداری پس پیاده‌سازی نشدنش هم مشکلی نداره.

ادامه پست بعدی

BY Python Hints





Share with your friend now:
tgoop.com/pyHints/334

View MORE
Open in Telegram


Telegram News

Date: |

The main design elements of your Telegram channel include a name, bio (brief description), and avatar. Your bio should be: Matt Hussey, editorial director of NEAR Protocol (and former editor-in-chief of Decrypt) responded to the news of the Telegram group with “#meIRL.” How to Create a Private or Public Channel on Telegram? Users are more open to new information on workdays rather than weekends. bank east asia october 20 kowloon
from us


Telegram Python Hints
FROM American