एक बिंदु या किसी अन्य पर आप बहुत सारे तर्कों के साथ कार्य कर सकते हैं। कभी-कभी यह कुछ तर्कों को सुपर-तर्कों में संयोजित करने के लिए समझ में आता है। मैंने अक्सर ऐसा डाइट्स के साथ किया है, लेकिन अब मैं इसे करने के बेहतर तरीके देख रहा हूं।
मैं मोड़ना चाहूंगा ...
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
अच्छी तरह से टाइप नहीं कर रहे हैं? वे ए और बी ऑब्जेक्ट नहीं हैं?
(Btw, चर नामों के बारे में चिंता न करें। मैं आमतौर पर छोटे चर नामों के रूप में उपयोग नहीं करता हूं।)