나는 *args
을 받아들이는 함수를 가지고 있지만, 아무 것도 제공되지 않을 경우를 대비해 기본 튜플을 설정하고 싶습니다. (이는 def f(*args=(1, 3, 5))
을 통해 가능하지 않으며 SyntaxError
이 발생합니다.)이를 수행하는 가장 좋은 방법은 무엇입니까? 의도 된 기능은 다음과 같습니다. 어떻게 스타 인수에 대한 기본값을 설정할 수 있습니까?
f()
# I received 1, 2, 3!
f(1)
# I received 1!
f(9, 3, 72)
# I received 9, 3, 72!
기능
g
다음은 올바른 기능을 제공 할 것입니다,하지만 난
*args
을 선호 할 것입니다.
def g(args=(1, 2, 3)):
return "I received {}!".format(', '.join(str(arg) for arg in args))
g()
# I received 1, 2, 3!
g((1,))
# I received 1!
g((9, 3, 72))
# I received 9, 3, 72!
'f (1)'또는'f (1,2)'에 대해'args = (1,2,3)'을 원하십니까? – qvpham
@julivico 인자가 주어지지 않으면 ('f()'), 디폴트는'args = (1, 2, 3)'이어야합니다. 인수가 주어지면, 그것들을 사용해야 만합니다. ('f (1)'은'args = (1,)'을 사용해야한다.) – 2Cubed
'if not args : args = (1,2,3)'를 사용할 수있다. 키워드 매개 변수 – qvpham