>  기사  >  백엔드 개발  >  Python 함수의 기본 매개변수를 설정하는 방법

Python 함수의 기본 매개변수를 설정하는 방법

WBOY
WBOY앞으로
2023-05-04 19:01:052625검색

함수를 호출할 때 매개변수가 지정되지 않으면 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제