728x90
반응형

variadic-functions 2

매개 변수에 붙는 ** 와 * 의 의미

질문 : ** (이중 별표 / 별표) 및 * (별표 / 별표)는 매개 변수에 대해 무엇을합니까? 다음 메서드 정의에서 * 및 ** 는 param2 무엇을합니까? def foo(param1, *param2): def bar(param1, **param2): 답변 *args 및 **kwargs 는 Python 문서의 함수 정의 에 대한 추가 섹션에 설명 된대로 함수에 임의의 수의 인수를 허용하는 일반적인 관용구입니다. *args 는 모든 함수 매개 변수 를 튜플로 제공합니다 . def foo(*args): for a in args: print(a) foo(1) # 1 foo(1,2,3) # 1 # 2 # 3 **kwargs 는 형식 매개 변수에 해당하는 것을 제외한 모든 키워드 인수를 사전으로 제공합니다. ..

Java에서 매개 변수 유형 옆에있는 3개의 점(...) 의 의미

질문 : Java에서 매개 변수 유형 옆에있는 3 개의 점은 무엇을 의미합니까? String 다음에 나오는 3 개의 점은 무엇을 의미합니까? public void myMethod(String... strings){ // method body } 답변 이는 0 개 이상의 String 객체 (또는 이들의 단일 배열)가 해당 메서드의 인수로 전달 될 수 있음을 의미합니다. http://java.sun.com/docs/books/tutorial/java/javaOO/arguments.html#varargs 에서 "임의의 인수 수"섹션을 참조하십시오. 귀하의 예에서 다음 중 하나로 부를 수 있습니다. myMethod(); // Likely useless, but possible myMethod("one", "tw..

728x90
반응형