PYHINTS Telegram 337
Python Hints
خوانش گروهی کتاب Fluent Python به فصل ۱۳ رسید (عضو جدید نمی‌گیره گروه) Interfaces, Protocol and ABCs داشتم راجب همین موضوع پیش گروهی دیگر از دوستان صحبت می‌کردم که متوجه شدم خیلی از بچه‌ها با این مفاهیم آشنا هستند، اما کاربرد درستش رو نمی‌دونند حتی بچه‌هایی…
Monkey Patching

برای این مورد ترجیح میدم از مثال خود کتاب استفاده کنم؛ قطعا ۹۰٪ شما می‌دونید مانکی پچ چیکار می‌کنه و ساده‌ هم هست برای همین نمی‌خوام عملکردش رو توضیح بدم اما جایگاه استفاده‌اش رو میخوام صحبت کنم (بسیار دیدم که اشتباه استفاده می‌شه)

لازم نیست اهل ورق بازی باشی تا بدونی که جذابیت بازی ورق (حکم بخصوص) به این هست که دست بر بخوره پس کلاس CardDeck کامل نیست مگر اینکه shuffle رو داشته باشه.
ازونجایی که این کلاس Sequence Protocol رو رعایت کرده طبق آنچه که صحبت شد؛ از Internal ها استفاده می‌کنیم یعنی random.shuffle.

اما random.shuffle می‌گه من به یک MutableSequence نیاز دارم؛ ی مقدار دقت کنیم روی مثال قبلی MutableSequence چه متدهایی رو می‌خواست ؟
__len__, __getitem__, __setitem__, __delitem__


با توجه به ارور من goose typing ندارم و shuffle هم به __delitem__ نیازی نداره و فرض رو هم بر این می‌گیریم که کلاس CardDeck از یک کتابخونه میاد ( بیاید فرض کنیم کتابخونه بزرگی هست و نمی‌تونیم بازنویسیش کنیم ) که برنامه نویسش __setitem__ رو اضافه نکرده.
👍173



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

Monkey Patching

برای این مورد ترجیح میدم از مثال خود کتاب استفاده کنم؛ قطعا ۹۰٪ شما می‌دونید مانکی پچ چیکار می‌کنه و ساده‌ هم هست برای همین نمی‌خوام عملکردش رو توضیح بدم اما جایگاه استفاده‌اش رو میخوام صحبت کنم (بسیار دیدم که اشتباه استفاده می‌شه)

لازم نیست اهل ورق بازی باشی تا بدونی که جذابیت بازی ورق (حکم بخصوص) به این هست که دست بر بخوره پس کلاس CardDeck کامل نیست مگر اینکه shuffle رو داشته باشه.
ازونجایی که این کلاس Sequence Protocol رو رعایت کرده طبق آنچه که صحبت شد؛ از Internal ها استفاده می‌کنیم یعنی random.shuffle.

اما random.shuffle می‌گه من به یک MutableSequence نیاز دارم؛ ی مقدار دقت کنیم روی مثال قبلی MutableSequence چه متدهایی رو می‌خواست ؟
__len__, __getitem__, __setitem__, __delitem__


با توجه به ارور من goose typing ندارم و shuffle هم به __delitem__ نیازی نداره و فرض رو هم بر این می‌گیریم که کلاس CardDeck از یک کتابخونه میاد ( بیاید فرض کنیم کتابخونه بزرگی هست و نمی‌تونیم بازنویسیش کنیم ) که برنامه نویسش __setitem__ رو اضافه نکرده.

BY Python Hints




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

View MORE
Open in Telegram


Telegram News

Date: |

The optimal dimension of the avatar on Telegram is 512px by 512px, and it’s recommended to use PNG format to deliver an unpixelated avatar. You can invite up to 200 people from your contacts to join your channel as the next step. Select the users you want to add and click “Invite.” You can skip this step altogether. Add the logo from your device. Adjust the visible area of your image. Congratulations! Now your Telegram channel has a face Click “Save”.! During a meeting with the president of the Supreme Electoral Court (TSE) on June 6, Telegram's Vice President Ilya Perekopsky announced the initiatives. According to the executive, Brazil is the first country in the world where Telegram is introducing the features, which could be expanded to other countries facing threats to democracy through the dissemination of false content. “[The defendant] could not shift his criminal liability,” Hui said.
from us


Telegram Python Hints
FROM American