Code Verse
159 subscribers
84 photos
29 files
4 links
Download Telegram
وقتی کلاس‌ها مثل الماس بهم وصل می‌شن، super() می‌ره سراغ کلاس بعدی تو زنجیره!

در الگوی diamond inheritance، رفتار super() طبق MRO (Method Resolution Order) تعیین می‌شه. یعنی وقتی هر کلاس super() رو صدا بزنه، زنجیره‌ی اجرای متدها مطابق ترتیب MRO پیش می‌ره و ترتیب پایه‌ها روی رفتار نهایی تاثیر داره. اگر یکی از کلاس‌ها super() رو صدا نزنه، زنجیره همون‌جا تموم می‌شه.

🌌 @the_code_Verse 🪐
👍1
super_in_diamond_inheritance.pdf
445.2 KB
جواب سوال ۱۲ پایتون
تعداد صفحه: ۶

پیش‌نیازها:
توضیحات MRO
توضیحات descriptor

کلید واژه‌ها:
closure cell, super, descriptor, __class__, __self__, __build_class__, bound method, @static_method

#answer #python

🌌 @the_code_Verse 🪐
👍2
Forwarded from بیدار بوک
هدف فلسفه "یاری به انسانها برای فهم خویشتن است تا بتوانند. آشکار و روشن عمل کنند نه بی نظم و نابخردانه در تاریکی ."
Isaiah Berlin, Concepts and Categories: Philosophical Essays, Henry Hardy (ed.), London: Hogarth Press, 1978, p. 11.

کتاب آزادی و خیانت به آزادی ( شش دشمن آزادی بشر)[درآمدی بر اندیشه و آثار آیزایا برلین صفحه ۱۸] ، نوشته آیزیا برلین ، ترجمه عزت الله فولادوند

#بریده_کتاب

@TheBidarBook
🔥7👎1
12. نحوه سفارشی‌سازی Django admin برای پشتیبانی از inline editing چگونه است؟

#question #django

🌌 @the_code_Verse 🪐
👍2
می‌خوای همه چیزو همون‌جا توی admin ویرایش کنی، بدون اینکه صفحه‌ی جدید باز بشه.

در Django با استفاده از inline editing می‌تونی رکوردهای مرتبط با یک مدل رو مستقیم در صفحه‌ی ویرایش اون مدل تغییر بدی. این کار با تعریف inline modelها در کلاس admin انجام می‌شه و تجربه کار با پنل مدیریت سریع‌تر و راحت‌تر می‌شه.

🌌 @the_code_Verse 🪐
2👎1
inline_editing_in_django_admin.pdf
469 KB
جواب سوال ۱۲ جنگو
تعداد صفحه: ۳

کلید واژه‌ها:
django-admin, InlineModelAdmin, TabularInline, StackedInline, extra, max_num, min_num, fields, readonly_fields

#answer #django

🌌 @the_code_Verse 🪐
👍21
‏13. تفاوت و کاربرد WeakSet و WeakKeyDictionary را توضیح بده و مثالی از cache اشیاء بده.

#question #python

🌌 @the_code_Verse 🪐
2👎1
یه جوری داده‌ها رو نگه می‌داری که وقتی دیگه لازم نباشن خودشون پاک بشن.

در پایتون، WeakSet و WeakKeyDictionary برای نگهداری ارجاعات ضعیف به اشیاء استفاده می‌شن؛ یعنی وقتی شیء اصلی از بین بره، داده مربوط به اون هم خودش حذف می‌شه. WeakSet برای مجموعه اشیاء و WeakKeyDictionary برای نگهداری داده‌ها با کلیدهای ضعیف کاربرد داره. این ویژگی خیلی به درد cacheهایی می‌خوره که نمی‌خوایم حافظه اضافی اشغال کنه.

🌌 @the_code_Verse 🪐
1
weak_set_vs_weak_dictionary.pdf
403.5 KB
جواب سوال ۱۳ پایتون
تعداد صفحه: ۴

پیش‌‌نیازها:
توضیحات weakref

کلیدواژه‌ها:
weakref, WeakSet, WeakKeyDictionary, WeakValueDictionary, cache

#answer #python

🌌 @the_code_Verse 🪐
2👎1
13. تفاوت abstract base classes و multi-table inheritance در Django ORM چیست؟

#question #django

🌌 @the_code_Verse 🪐
1
گاهی فقط می‌خوای یه قالب مشترک داشته باشی بدون اینکه جدول اضافه بسازی.

در Django، abstract base class فقط فیلدها و متدها رو بین مدل‌ها به اشتراک می‌ذاره و خودش جدول جداگانه نمی‌سازه. اما multi-table inheritance هر مدل فرزند جدول خودش رو داره و با کلید خارجی به جدول والد وصل می‌شه. این تفاوت باعث می‌شه هرکدوم برای
سناریوهای مختلف، مثل بهینه‌سازی ساختار یا حفظ روابط داده، مناسب باشه.

🌌 @the_code_Verse 🪐
2👎1
abstract_base_classes_vs_multi_table_inheritance.pdf
436.7 KB
جواب سوال ۱۳ جنگو
تعداد صفحه: ۴

کلیدواژه‌ها:
Django ORM, Abstract Base Classes, Multi-Table Inheritance, Proxy Models, primary_key, parent_link, django-admin,

#answer #django

🌌 @the_code_Verse 🪐
2👎1
14. چگونه می‌توان یک decorator نوشت که attributeهای کلاس را قبل از تعریف متدها تغییر دهد؟

#question #python

🌌 @the_code_Verse 🪐
1👎1
می‌خوای قبل از اینکه متدها حتی ساخته بشن، ویژگی‌های کلاس رو دستکاری کنی؟

در پایتون می‌تونی با نوشتن class decorator قبل از تعریف یا اجرای متدها، attributeهای کلاس رو تغییر یا اضافه کنی. این کار معمولاً با دسترسی به دیکشنری کلاس (‎cls.dict) یا استفاده از متاکلاس‌ها انجام می‌شه و بهت اجازه می‌ده رفتار کلاس رو قبل از اجرای متدها به‌صورت پویا تغییر بدی.

🌌 @the_code_Verse 🪐
1👎1