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 creator of the channel becomes its administrator by default. If you need help managing your channel, you can add more administrators from your subscriber base. You can provide each admin with limited or full rights to manage the channel. For example, you can allow an administrator to publish and edit content while withholding the right to add new subscribers. The imprisonment came as Telegram said it was "surprised" by claims that privacy commissioner Ada Chung Lai-ling is seeking to block the messaging app due to doxxing content targeting police and politicians. Private channels are only accessible to subscribers and don’t appear in public searches. To join a private channel, you need to receive a link from the owner (administrator). A private channel is an excellent solution for companies and teams. You can also use this type of channel to write down personal notes, reflections, etc. By the way, you can make your private channel public at any moment. 3How to create a Telegram channel? To upload a logo, click the Menu icon and select “Manage Channel.” In a new window, hit the Camera icon.
from us


Telegram Python Hints
FROM American