Python에서 함수 매개변수를 보는 방법에는 네 가지가 있습니다:
1. F(arg1,arg2,…)
이것은 함수를 정의하는 일반적인 방법이며, 매개변수를 원하는 수만큼 정의할 수 있습니다. 매개변수를 구분하려면 쉼표를 사용하세요. 이 유형의 함수를 호출할 때 함수 이름 뒤의 괄호 안에 동일한 수의 값(실제 인수)을 동일한 순서로 제공해야 합니다. 즉, 이 호출 메서드에서는 형식 매개변수와 실제 매개변수의 개수가 일치해야 하며 일대일로 대응해야 합니다. 즉, 첫 번째 형식 매개변수가 첫 번째 실제 매개변수에 해당합니다. 예:
코드는 다음과 같습니다.
def a(x,y):x,y 인쇄
이 함수를 호출하세요. a(1,2), x가 1, y가 2를 취하고 형식 매개변수가 실제 매개변수와 일치하면 오류가 발생합니다. 보고되었습니다.
2.F(arg1,arg2=값2,…)
이 방법은 첫 번째 방법의 개선된 버전으로, 기본값을 제공합니다. 예:
코드는 다음과 같습니다.
def a(x,y=3):x,y를 인쇄합니다
이 함수를 호출할 때 a(1,2)는 여전히 x에 1을, y에 2를 사용하지만, a(1)이면 오류가 보고되지 않습니다. 이때 x는 여전히 1이고 y는 기본값 3입니다. 위의 두 가지 방법에서는 매개변수 위치를 변경할 수도 있습니다. 예를 들어 a(y=4,x=3) 도 이 형식으로 사용할 수 있습니다.
3.F(*arg1)
위의 두 가지 방법은 실제 매개변수를 형식 매개변수만큼 전달하는 것이지만, 때로는 매개변수가 몇 개인지 알 수 없는 경우에는 *를 사용하여 형식 매개변수를 추가하는 방법이 더 유용합니다. 이 함수의 실제 매개변수 수는 가변적이며 0 또는 n일 수 있습니다. 한 가지 주목해야 할 점은 개수에 관계없이 모두 함수 내부의 식별자로 형식적인 매개변수 이름을 사용하여 튜플에 저장된다는 것입니다.
코드는 다음과 같습니다.
def a(*x):x 인쇄
>>> 아(1,2,3)
(1, 2, 3)
>>> a(x=1,y=2,z=3)
추적(가장 최근 통화 마지막):
파일 """, 1행, TypeError: a()에 예상치 못한 키워드 인수 'x'가 있습니다. 4. F(**arg1) 형식 매개변수 이름 앞에 두 개의 *를 추가하여 매개변수가 다음에 저장될 것임을 나타냅니다. 함수 내부의 형식적 이름 식별자인 사전에서 함수를 호출하는 방법은 arg1=value1, arg2=value2 형식이어야 합니다. 코드는 다음과 같습니다: def a(**x):print x >>> a(x=1,y=2,z=3) {'y': 2, 'x': 1, 'z': 3} # 사전에 저장됨 >>> a(1,2,3) # 이런 종류의 호출은 오류를 보고합니다. Traceback (가장 최근 호출 마지막): File "", line 1, in TypeError: a() does 정확히 0개의 인수(3개 제공)
개발 중에 관련 플러그인을 사용하거나 Python 내장 함수 "help()"를 사용하여 특정 함수의 매개변수 설명을 볼 수 있습니다. 내장 함수 sorted()를 예로 들어 보겠습니다.
함수 매개변수에는 필수 매개변수, 기본 매개변수, 선택적 매개변수, 키워드 매개변수가 포함됩니다.
1. 기본 매개변수: 필수 매개변수 뒤에 위치하며 x의 제곱을 계산하는 기능:
이 경우 다른 거듭제곱 함수를 계산할 때마다 함수를 다시 작성해야 하는데, 이는 매우 번거로운 일입니다. 다음 코드를 사용하여 계산할 수 있습니다.
기본 매개변수의 가장 큰 장점은 함수 호출의 어려움을 줄여준다는 것입니다.
2. 가변 매개변수: 전달되는 매개변수 수는 1, 2, 임의의 숫자 또는 0일 수 있습니다. 가변 매개변수를 나타내려면 매개변수 앞에 *를 추가하세요. 함수 내에서 매개변수 번호는 튜플을 받습니다. 함수를 호출할 때 0개의 매개변수를 포함하여 원하는 수의 매개변수가 전달될 수 있습니다.
변수 매개변수와 유사한 사전을 조합한 다음 사전을 키워드 매개변수로 변환하고 전달할 수도 있습니다.
알았어 다른데 찾아볼게
하지만 포인트는 있어요. . . .
VC와 함께 제공되는 항목에 따라 다름~
매개변수 개수를 확인하는 방법을 제시해 주되, 각 지시 사항을 주의 깊게 따르지 않으면 유형을 판단하는 것은 불가능합니다
PROC lpFunction = GetProcAddress(hModule,"기능 이름");_asm{jmp lpFunction; 여기에서 함수 추적}
함수는 다음과 같아야 합니다(C로 작성된 stdcall인 경우)
(실행하지 마세요. 문제가 발생할 수 있으니 천천히 읽어주세요) push ebpmov ebp,esp
sub esp,XXX(4의 배수)
esp를 추가하세요,XXX
mov esp,ebppop ebpret XXXX(역시 4의 배수)
매개변수 수 = XXXX/4
위 내용은 Python 함수의 매개변수 정보를 보는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!