পাইথনে ডাবল আন্ডারস্কোর (__) দিয়ে শুরু এবং শেষ হওয়া নামগুলো (যেমন __init__, __str__, __len__) ডান্ডার (dunder) মেথড বা ম্যাজিক মেথড বলা হয়।
ব্যাখ্যা
- এই নামগুলো পাইথন 인터প্রেটার দ্বারা রিজার্ভড।
- এগুলো স্পেশাল প্রোটোকল ইমপ্লিমেন্ট করে (অপারেটর ওভারলোডিং, অবজেক্ট লাইফসাইকেল, কন্টেইনার বিহেভিয়ার ইত্যাদি)।
- প্রোগ্রামাররা এই নাম প্যাটার্ন ব্যবহার করা উচিত নয় (নেম কollision এড়াতে)।
সাধারণ ডান্ডার মেথড
| মেথড | উদ্দেশ্য |
|---|---|
__init__ | অবজেক্ট ইনিশিয়ালাইজেশন |
__str__ | ইনফরমাল স্ট্রিং রিপ্রেজেন্টেশন |
__repr__ | অফিশিয়াল স্ট্রিং রিপ্রেজেন্টেশন |
__len__ | len(obj) সাপোর্ট |
__call__ | অবজেক্টকে ফাংশনর মত কলযোগ্য বানায় |
__eq__, __lt__ | তুলনা অপারেটর |
__enter__, __exit__ | কনটেক্সট ম্যানেজার (with স্টেটমেন্ট) |
নামিং কনভেনশন
single_leading_underscore(_var) — প্রাইভেট (কনভেনশন মাত্র)।double_leading_underscore(__var) — নেম मैंگلিং (ক্লাসে)।__dunder__— রিজার্ভড, নিজের তৈরি করবেন না।