এক পর্যায়ে বা অন্য সময়ে আপনি প্রচুর যুক্তি দিয়ে ফাংশনগুলি দেখতে পাবেন। কখনও কখনও এটি যুক্তিগুলির কিছুকে সুপার-আর্গুমেন্টের সাথে একত্রিত করার জন্য বোধগম্য হয়। আমি প্রায়শই ডিক্টের সাহায্যে এটি করেছি, তবে এখন আমি এটি করার আরও ভাল উপায়গুলি খুঁজছি।
আমি ঘুরতে চাই ...
def do_something(ax, ay, az, bu, bv, c):
# Do something
... মধ্যে ...
def do_something(a, b, c):
# Do something
... যেখানে a
এবং b
তাদের উপবিভাজনগুলি ধারণ করে।
এটি করার একটি উপায় হ'ল:
A = namedtuple('A', 'x, y, z')
a = A(ax, ay, az)
B = namedtuple('B', 'u, v')
b = B(bu, bv)
তবে এটি সহজ বলে মনে হচ্ছে:
a = SimpleNamespace(x=ax, y=ay, z=az)
b = SimpleNamespace(u=bu, v=bv)
অপূর্ণতা কী? যে সত্য a
এবং b
ভাল টাইপ করা হয় না? এগুলি কি এ এবং বি অবজেক্ট নয়?
(বিটিডব্লিউ, ভেরিয়েবলের নামগুলি নিয়ে চিন্তা করবেন না I আমি সাধারণত সংক্ষিপ্ত পরিবর্তনশীল নাম হিসাবে ব্যবহার করি না))