এখানে কিছু দুর্দান্ত উত্তর রয়েছে, এবং তাই আমি নিজের নিজের দেওয়ার আগে আমি কয়েকটি রত্ন হাইলাইট করতে চাই (কোনও রুবি পাং উদ্দেশ্য নয়) আমি এখানে পড়েছি।
- পাইথন একটি খাঁটি ওওপি ভাষা নয় - এটি একটি সাধারণ উদ্দেশ্য, বহু-দৃষ্টান্তের ভাষা যা প্রোগ্রামারকে তারা সবচেয়ে স্বাচ্ছন্দ্যযুক্ত দৃষ্টান্ত এবং / অথবা তাদের সমাধানের জন্য সবচেয়ে উপযুক্ত উপমা ব্যবহার করতে দেয়।
- পাইথনের প্রথম শ্রেণির ফাংশন রয়েছে, সুতরাং
len
এটি আসলে একটি বস্তু। অন্যদিকে রুবিতে প্রথম শ্রেণির ফাংশন নেই। সুতরাং len
ফাংশন অবজেক্টের নিজস্ব পদ্ধতি রয়েছে যা আপনি চালিয়ে পরীক্ষা করতে পারবেন dir(len)
।
আপনি যদি নিজের কোডে এইভাবে কাজ করেন তা পছন্দ না করেন তবে আপনার পছন্দসই পদ্ধতিটি ব্যবহার করে পাত্রে পুনরায় প্রয়োগ করা আপনার পক্ষে নগণ্য (
>>> class List(list):
... def len(self):
... return len(self)
...
>>> class Dict(dict):
... def len(self):
... return len(self)
...
>>> class Tuple(tuple):
... def len(self):
... return len(self)
...
>>> class Set(set):
... def len(self):
... return len(self)
...
>>> my_list = List([1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F'])
>>> my_dict = Dict({'key': 'value', 'site': 'stackoverflow'})
>>> my_set = Set({1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F'})
>>> my_tuple = Tuple((1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F'))
>>> my_containers = Tuple((my_list, my_dict, my_set, my_tuple))
>>>
>>> for container in my_containers:
... print container.len()
...
15
2
15
15
len
। তারা মনে করেন যে বাস্তবায়নে বাধ্য করার.__len__
চেয়ে মানুষকে প্রয়োগ করতে বাধ্য করা আরও সহজ.len()
। এটি একই জিনিস এবং একটিকে আরও পরিষ্কার পরিচ্ছন্ন দেখাচ্ছে। যদি ভাষাটির একটি ওওপি হতে চলেছে__len__
তবে বিশ্বে কী তৈরি করা যায়len(..)