어느 시점에서 당신은 많은 논증을 가진 함수들을 보게 될 것입니다. 때로는 일부 주장을 수퍼 인수로 결합하는 것이 합리적입니다. 나는 종종 dicts 로이 작업을 수행했지만 이제는 더 나은 방법을 찾고 있습니다.
설정하고 싶습니다 ...
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
잘 입력되지 않습니다? 그들은 A와 B가 아닌가?
(Btw, 변수 이름에 대해 걱정하지 마십시오. 일반적으로 짧은 변수 이름으로 사용하지 않습니다.)