**kwargs
을 비정상적인 방법으로 사용하려고 생각하고 있습니다. 데이터 제공자가 아니고 과부하 대체 도구가 아닙니다. 이런 식으로 모든 키워드 인수는 하나의 유형이어야합니다 (예 : 구체적으로 형성된 튜플 및 그 밖의 다른 방법). 예 :** kwargs는 __init__의 비 구성 데이터에 적합한 선택입니까?
class SomeClass(object):
'''All **kwargs should be in ("string", 1, True) form'''
def __init__(self, some_param, **kwargs):
self.param = some_param
for arg in kwargs.itervalues():
if not isinstance(arg[0], str):
...
self.some_dict = kwargs
괜찮습니까? 나는 이상하게 느껴진다. 그것은 비범 한 것처럼 보인다.
당신도'* args'에 익숙합니까? – ulidtko
@ulidtko 예. 근본적으로 질문은 둘다에 관한 것이지만, 결국 더 복잡하기 때문에 결국 kwargs로 끝났습니다. –
이 코드는 여러분이 기대하지 않는 것 같습니다. kwargs는 dict이며 키는 항상 문자열입니다. arg (kwargs의 arg의 경우)를 반복 할 경우 arg는 항상 문자열이므로 arg [0]도 항상 문자열입니다. –