함수를 호출할 때 매개변수가 지정되지 않으면 Python 인터프리터에서 예외가 발생한다는 것을 알고 있습니다. 이 문제를 해결하기 위해 Python에서는 매개변수에 대한 기본값 설정, 즉 함수 정의 시 형식 매개변수에 대한 기본값을 직접 지정하는 것을 허용합니다. 이 경우 함수 호출 시 기본값을 갖는 형식적 매개변수에 어떠한 매개변수도 전달하지 않더라도 해당 매개변수는 함수 정의 시 설정된 기본값을 그대로 사용할 수 있다.
Python은 기본값 매개변수를 사용하여 함수를 정의합니다. 구문 형식은 다음과 같습니다.
def 函数名(...,形参名,形参名=默认值): 代码块
이 형식을 사용하여 함수를 정의하는 경우 기본값이 있는 형식 매개변수는 모든 매개변수 끝에 지정되어야 합니다. 그렇지 않으면 문법 오류가 발생합니다.
다음 프로그램은 기본 매개변수를 사용하여 함수를 정의하고 호출하는 방법을 보여줍니다.
#str1没有默认参数,str2有默认参数 def dis_str(str1,str2 = "http://c.biancheng.net/python/"): print("str1:",str1) print("str2:",str2) dis_str("http://c.biancheng.net/shell/") dis_str("http://c.biancheng.net/java/","http://c.biancheng.net/golang/")
실행 결과는 다음과 같습니다.
str1: http://c.biancheng.net/shell/
str2: http://c .biancheng .net/python/
str1: http://c.biancheng.net/java/
str2: http://c.biancheng.net/golang/
위 프로그램에서 dis_str() 함수는 2개의 매개변수가 있고 두 번째 매개변수에는 기본 매개변수가 있습니다. 이는 dis_str() 함수를 호출할 때 프로그램의 6행에 표시된 대로 str1 매개변수에 전달될 1개의 매개변수만 전달할 수 있으며 str2는 기본 매개변수를 사용한다는 것을 의미합니다.
물론 dis_str() 함수를 호출할 때 모든 매개변수에 값을 전달할 수도 있습니다(코드의 7번째 줄에 표시됨). 이때 str2에 기본값이 있더라도 우선순위를 갖습니다. 전달된 새 값에 적용됩니다.
동시에 키워드 매개변수와 결합하여 dis_str() 함수를 호출하는 다음 3가지 방법도 가능합니다.
dis_str(str1 = "http://c.biancheng.net/shell/") dis_str("http://c.biancheng.net/java/",str2 = "http://c.biancheng.net/golang/") dis_str(str1 = "http://c.biancheng.net/java/",str2 = "http://c.biancheng.net/golang/")
다시 한번, 기본값 매개변수로 함수를 정의할 때 기본값이 있는 매개변수는 다음과 같아야 합니다. 매개변수 뒤에 기본값이 없는 모든 매개변수에 위치합니다. 따라서 다음 예에 정의된 함수는 올바르지 않습니다.
#语法错误 def dis_str(str1="http://c.biancheng.net/python/",str2,str3): pass
분명히 str1에는 기본값이 있지만 str2 및 str3에는 기본값이 없으므로 str1은 str2 및 str3 뒤에 와야 합니다.
일부 독자는 자신만의 사용자 정의 함수에 대해 어떤 매개변수에 기본값이 있는지 쉽게 알 수 있다고 물을 수 있지만, Python에서 제공하는 내장 함수나 다른 제3자가 제공하는 함수를 사용하면 어떤 매개변수에 기본값이 있는지 어떻게 알 수 있나요? 기본값?
Pyhton에서는 "function name.__defaults__"를 사용하여 함수의 기본값 매개변수의 현재 값을 볼 수 있으며, 해당 반환 값은 튜플입니다. 이 섹션의 dis_str() 함수를 예로 들어 보겠습니다. 이를 기반으로 다음 코드를 실행합니다.
print(dis_str.__defaults__)
프로그램 실행 결과는 다음과 같습니다.
('http://c.biancheng.net/python/', )
위 내용은 Python 함수의 기본 매개변수를 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!