python
Python에서는 가변 개수의 인수를 사용하는 함수를 정의할 수 있습니다. 이 기사에서는 기본, 키워드 및 임의 인수를 사용하여 이러한 함수를 정의하는 방법을 배웁니다.
사용자 정의 함수 항목에서 함수를 정의하고 호출하는 방법을 배웠습니다. 그렇지 않으면 함수 호출로 인해 오류가 발생합니다. 다음은 예입니다.
def greet(name, msg):
"""This function greets to
the person with the provided message"""
print("Hello", name + ', ' + msg)
greet("Monica", "Good morning!")
출력
Hello Monica, Good morning!
여기서 함수 greet()
두 개의 매개변수가 있습니다.
이 함수를 두 개의 인수로 호출했기 때문에 원활하게 실행되고 오류가 발생하지 않습니다.
다른 수의 인수로 호출하면 인터프리터는 오류 메시지를 표시합니다. 다음은 각각의 오류 메시지와 함께 인수가 하나 있고 없는 이 함수에 대한 호출입니다.
>>> greet("Monica") # only one argument TypeError: greet() missing 1 required positional argument: 'msg'
>>> greet() # no arguments TypeError: greet() missing 2 required positional arguments: 'name' and 'msg'<시간>
지금까지 함수에는 고정된 수의 인수가 있었습니다. Python에는 다양한 인수를 사용할 수 있는 함수를 정의하는 다른 방법이 있습니다.
이 유형의 세 가지 다른 형태가 아래에 설명되어 있습니다.
함수 인수는 Python에서 기본값을 가질 수 있습니다.
할당 연산자(=)를 사용하여 인수에 기본값을 제공할 수 있습니다. 다음은 예입니다.
def greet(name, msg="Good morning!"):
"""
This function greets to
the person with the
provided message.
If the message is not provided,
it defaults to "Good
morning!"
"""
print("Hello", name + ', ' + msg)
greet("Kate")
greet("Bruce", "How do you do?")
출력
Hello Kate, Good morning! Hello Bruce, How do you do?
이 함수에서 매개변수 name
기본값이 없으며 통화 중 필수(필수)입니다.
반면 매개변수 msg
는 기본값은 "Good morning!"
입니다. . 따라서 통화 중에는 선택 사항입니다. 값이 제공되면 기본값을 덮어씁니다.
함수의 모든 인수는 기본값을 가질 수 있습니다. 그러나 기본 인수가 있으면 오른쪽에 있는 모든 인수도 기본값을 가져야 합니다.
즉, 기본이 아닌 인수는 기본 인수를 따를 수 없습니다. 예를 들어 위의 함수 헤더를 다음과 같이 정의했다면:
def greet(msg = "Good morning!", name):
다음과 같은 오류가 발생합니다.
SyntaxError: non-default argument follows default argument<시간>
일부 값을 사용하여 함수를 호출할 때 이러한 값은 해당 위치에 따라 인수에 할당됩니다.
예를 들어 위의 greet()
함수에서 , greet("Bruce", "How do you do?")
로 호출했을 때 , 값 "Bruce"
인수 name에 할당됩니다. 유사하게 "How do you do?"
msg로 .
Python에서는 키워드 인수를 사용하여 함수를 호출할 수 있습니다. 이런 식으로 함수를 호출하면 인수의 순서(위치)가 변경될 수 있습니다. 위의 함수에 대한 다음 호출은 모두 유효하며 동일한 결과를 생성합니다.
# 2 keyword arguments
greet(name = "Bruce",msg = "How do you do?")
# 2 keyword arguments (out of order)
greet(msg = "How do you do?",name = "Bruce")
1 positional, 1 keyword argument
greet("Bruce", msg = "How do you do?")
보시다시피, 함수 호출 중에 위치 인수와 키워드 인수를 혼합할 수 있습니다. 그러나 키워드 인수는 위치 인수를 따라야 한다는 점을 명심해야 합니다.
키워드 인수 뒤에 위치 인수가 있으면 오류가 발생합니다. 예를 들어, 다음과 같은 함수 호출:
greet(name="Bruce","How do you do?")
오류가 발생합니다:
SyntaxError: non-keyword arg after keyword arg<시간>
때때로 우리는 함수에 전달될 인수의 수를 미리 알지 못합니다. Python을 사용하면 임의의 수의 인수로 함수 호출을 통해 이러한 상황을 처리할 수 있습니다.
함수 정의에서 이러한 종류의 인수를 나타내기 위해 매개변수 이름 앞에 별표(*)를 사용합니다. 다음은 예입니다.
def greet(*names):
"""This function greets all
the person in the names tuple."""
# names is a tuple with arguments
for name in names:
print("Hello", name)
greet("Monica", "Luke", "Steve", "John")
출력
Hello Monica Hello Luke Hello Steve Hello John
여기에서 여러 인수를 사용하여 함수를 호출했습니다. 이러한 인수는 함수에 전달되기 전에 튜플로 래핑됩니다. 함수 내에서 for
을 사용합니다. 모든 인수를 다시 검색하는 루프.
python
파이썬 주요 기능이란 무엇입니까? Python 주요 기능 모든 프로그램의 시작점입니다. 프로그램이 실행되면 파이썬 인터프리터가 코드를 순차적으로 실행합니다. Main 함수는 Python 프로그램으로 실행될 때만 실행됩니다. 모듈로 가져온 경우 메인 기능을 실행하지 않습니다. 파이썬에서 def main() 함수는 무엇입니까? 이를 이해하려면 다음 예제 코드를 고려하십시오. def main() 예제 1 def main(): print (Hello World!) print (Guru99) 여기에서 두 개의 인쇄가
파이썬에서 함수란 무엇입니까? Python의 함수 참조될 때 실행되는 코드 조각입니다. 프로그램의 여러 위치에서 코드를 활용하는 데 사용됩니다. 방법 또는 절차라고도 합니다. Python은 print(), input(), compile(), exec() 등과 같은 많은 내장 함수를 제공하지만 자신만의 함수를 만들 수 있는 자유도 제공합니다. 이 튜토리얼에서는 배울 것입니다 파이썬에서 함수를 정의하고 호출하는 방법 Python에서 들여쓰기(공백)의 중요성 함수 반환 값은 어떻게 되나요? 함수의 인수 파이썬에서 함수를 정