Bir noktada, birçok argümanla fonksiyonlar gelebilir. Bazen bazı argümanları süper argümanlarla birleştirmek mantıklıdır. Bunu sık sık dikte ile yaptım, ama şimdi daha iyi yapmanın yollarını arıyorum.
Dönmek istiyorum ...
def do_something(ax, ay, az, bu, bv, c):
# Do something
... içine ...
def do_something(a, b, c):
# Do something
... alt değişkenlerini nerede ave biçerdiklerini
Bunu yapmanın bir yolu:
A = namedtuple('A', 'x, y, z')
a = A(ax, ay, az)
B = namedtuple('B', 'u, v')
b = B(bu, bv)
Ancak, bu daha basit görünüyor:
a = SimpleNamespace(x=ax, y=ay, z=az)
b = SimpleNamespace(u=bu, v=bv)
Dezavantajı nedir? Gerçeği ave biyi yazdınız değil mi? Onlar A ve B nesneleri değil mi?
(Btw, değişken adları hakkında endişelenme. Normalde kısa değişken adları olarak kullanmıyorum.)