Python에서 함수를 호출하는 방법(예제)

Python에서 함수란 무엇입니까?

A 파이썬의 함수 참조될 때 실행되는 코드 조각입니다. 프로그램의 여러 위치에서 코드를 활용하는 데 사용됩니다. 방법(Method) 또는 절차(Procedure)라고도 한다. Python은 print(), input(), compile(), exec() 등과 같은 많은 내장 함수를 제공하지만 자신만의 함수를 자유롭게 만들 수도 있습니다.

Python에서 함수를 정의하고 호출하는 방법

Python의 함수는 다음과 같이 정의됩니다. “데프” 명령문 뒤에 함수 이름과 괄호( () )가 옵니다.

예:

“def func1():” 명령을 사용하여 함수를 정의하고 함수를 호출해 보겠습니다. 함수의 출력은 다음과 같습니다. “저는 Python 함수를 배우고 있습니다.”

Python에서 함수 정의 및 호출

기능 func1() 인쇄 def func1()을 호출하고 다음 명령을 인쇄합니다.” 저는 Python 함수 None을 배우고 있습니다."

Python에는 함수를 정의하는 일련의 규칙이 있습니다.

  • 모든 인수 또는 입력 매개변수는 이 괄호 안에 배치되어야 합니다.
  • 함수의 첫 번째 명령문은 선택적 명령문(docstring 또는 함수의 문서 문자열)일 수 있습니다.
  • 모든 함수 내의 코드는 콜론(:)으로 시작하고 들여쓰기(공백)되어야 합니다.
  • return(표현식) 문은 함수를 종료하고 선택적으로 호출자에게 값을 다시 전달합니다. 인수가 없는 return 문은 return None과 동일합니다.

Python에서 들여쓰기(공백)의 중요성

Python 함수에 익숙해지기 전에 Python 함수를 선언하기 위한 들여쓰기 규칙을 이해하는 것이 중요하며 이러한 규칙은 조건, 루프 또는 변수 선언과 같은 Python의 다른 요소에 적용 가능합니다.

Python은 코드를 정의하기 위해 특정 들여쓰기 스타일을 따릅니다. Python 함수에는 함수의 시작과 중지를 나타내는 중괄호와 같은 명시적인 시작이나 끝이 없으며 이 들여쓰기에 의존해야 합니다.. 여기서는 "print" 명령을 사용하여 간단한 예를 들어보겠습니다. def func 1() 바로 아래에 "print" 함수를 작성하면 "들여쓰기 오류: 들여쓰기된 블록이 필요합니다.".

Python에서 함수 정의 및 호출

이제 "print" 함수 앞에 들여쓰기(공백)를 추가하면 예상대로 인쇄됩니다.

Python에서 함수 정의 및 호출

최소한 한 번의 들여쓰기만으로도 코드가 성공적으로 작동할 수 있습니다. 그러나 가장 좋은 방법은 함수를 호출할 때 들여쓰기를 3~4개 정도 남겨 두는 것이 좋습니다..

들여쓰기를 선언하는 동안에도 다음을 수행해야 합니다. 코드의 나머지 부분에 대해 동일한 들여쓰기를 유지하세요. 예를 들어, 아래 스크린샷에서 "still in func1"이라는 또 다른 문을 호출하고 첫 번째 인쇄 문 바로 아래에 선언되지 않으면 들여쓰기 오류가 표시됩니다. "unindent는 다른 들여쓰기 수준과 일치하지 않습니다."

Python에서 함수 정의 및 호출

이제 두 명령문에 동일한 들여쓰기를 적용하고 동일한 줄에 정렬하면 예상한 출력이 제공됩니다.

Python에서 함수 정의 및 호출

함수 반환 값은 어떻게 되나요?

Python의 Return 명령은 함수 호출자에게 반환할 값을 지정합니다. 이 내용을 다음과 같이 이해해 봅시다.wing 예

1단계) 이 함수는 아무것도 반환하지 않습니다.

여기 – 함수가 "반환"이 아닌 경우를 확인합니다. 예를 들어, 우리는 4의 제곱을 원하며 코드가 실행될 때 "16"이라는 답을 제공해야 합니다. 단순히 "print x*x" 코드를 사용하면 제공되지만 "print square" 함수를 호출하면 출력으로 "None"이 제공됩니다. 함수를 호출하면 재귀가 발생하지 않고 함수의 끝에서 떨어지기 때문입니다. Python은 함수 끝에서 실패하면 "없음"을 반환합니다.

함수 반환 값

2 단계) 인쇄 명령을 할당 명령으로 대체

이를 더 명확하게 하기 위해 print 명령을 할당 명령으로 대체합니다. 출력을 확인해 보겠습니다.

함수 반환 값

"print square (4)" 명령을 실행하면 여기서 실행할 특정 함수가 없기 때문에 실제로 개체의 값을 반환하며 "None"을 반환합니다.

3단계) ​​'return' 함수를 사용하여 코드를 실행합니다.

이제 여기서는 "return" 명령을 사용하여 출력을 검색하는 방법을 살펴보겠습니다. "return" 함수를 사용하고 코드를 실행하면 "16"이 출력됩니다.

함수 반환 값

4단계) '사각형 인쇄' 명령 실행

Python의 함수는 그 자체로 객체이며 객체에는 어떤 값이 있습니다. 여기서는 Python이 객체를 어떻게 처리하는지 살펴보겠습니다. "print square" 명령을 실행하면 개체의 값이 반환됩니다. 인수를 전달하지 않았으므로 여기서 실행할 특정 함수가 없으며 개체의 위치인 기본값(0x021B2D30)을 반환합니다. 실제 Python 프로그램에서는 아마도 이 작업을 수행할 필요가 없을 것입니다.

함수 반환 값

함수의 인수

인수는 함수가 호출될 때 함수에 전달되는 값입니다.

즉, 호출측에서는 인수이고 함수측에서는 매개변수입니다.

Python Args가 어떻게 작동하는지 살펴보겠습니다.

단계 1) 인수는 함수 정의에서 선언됩니다. 함수를 호출하는 동안 아래와 같이 해당 인수에 대한 값을 전달할 수 있습니다.

함수의 인수

단계 2) 인수의 기본값을 선언하려면 함수 정의에서 값을 할당하십시오.

함수의 인수

예: x에는 기본값이 없습니다. 기본값은 y=0입니다. 곱하기 함수를 호출하는 동안 하나의 인수만 제공하면 Python은 y=0 값을 유지하면서 제공된 값을 x에 할당합니다. 따라서 x*y=0의 곱셈

Python에서 함수 정의 및 호출

단계 3) 이번에는 기본값 y=2 대신 y=0로 값을 변경하고 출력은 (4×2)=8로 반환됩니다.

함수의 인수

단계 4) Python에서 인수가 전달될 수 있는 순서를 변경할 수도 있습니다. 여기서는 x와 y 값의 순서를 x=4와 y=2로 바꾸었습니다.

함수의 인수

단계 5) 여러 인수를 배열로 전달할 수도 있습니다. 여기 예제에서는 (*args) 함수를 호출하여 여러 인수(1,2,3,4,5)를 호출합니다.

예: (*args) 함수를 호출할 때 여러 인수를 숫자 (1,2,3,4,5)로 선언했습니다. 출력을 (1,2,3,4,5)로 인쇄합니다.

함수의 인수

방문 꿀팁:

  • 파이썬 2.7에서. 함수 오버로딩 Python에서는 지원되지 않습니다. 함수 오버로딩은 다른 구현으로 동일한 이름의 여러 메서드를 생성하는 기능입니다. 함수 오버로딩은 Python 3에서 완벽하게 지원됩니다.
  • 메소드와 기능 사이에는 상당한 혼란이 있습니다. Python의 메소드는 객체 인스턴스와 연관되어 있지만 함수는 그렇지 않습니다. Python이 메소드를 호출하면 해당 호출의 첫 번째 매개변수를 적절한 객체 참조에 바인딩합니다. 간단히 말해서, Python의 독립형 함수는 "함수"인 반면, 클래스나 인스턴스의 속성인 함수는 "메서드"입니다.

다음은 전체 Python 3 코드입니다.

#define a function
def func1():
   print ("I am learning Python function")
   print ("still in func1")
   
func1()

def square(x):
  	return x*x
print(square(4))

def multiply(x,y=0):
	print("value of x=",x)
	print("value of y=",y)
    
	return x*y
  
print(multiply(y=2,x=4))

다음은 전체 Python 2 코드입니다.

#define a function
def func1():
   print " I am learning Python function"
   print " still in func1"
   
func1()

def square(x):
  	return x*x
print square(4)

def multiply(x,y=0):
	print"value of x=",x
	print"value of y=",y
    
	return x*y
  
print multiply(y=2,x=4)

요약

Python의 함수는 단일 관련 작업을 수행하는 데 사용되는 재사용 가능한 코드 조각입니다. 이 기사에서 우리는 볼 것입니다

  • 다음에 의해 정의된 기능 데프 성명서
  • 모든 함수 내의 코드 블록은 콜론(:)으로 시작하고 들여쓰기(공백)되어야 합니다.
  • 모든 인수나 입력 매개변수는 이러한 괄호 안에 배치되어야 합니다.
  • 함수 선언 후 코드 앞에 들여쓰기를 하나 이상 남겨야 합니다.
  • def 함수 내의 코드 전체에서 동일한 들여쓰기 스타일을 유지해야 합니다.
  • 모범 사례의 경우 문 앞에 XNUMX~XNUMX개의 들여쓰기가 가장 적합한 것으로 간주됩니다.
  • "return" 명령을 사용하여 함수 호출에 값을 반환할 수 있습니다.
  • Python은 호출 함수에 인수가 제공되지 않으면 (0x021B2D30)과 같은 임의의 값을 인쇄합니다. "인쇄 기능"의 예.
  • 호출측에서는 인수이고 함수측에서는 매개변수입니다.
  • 인수의 기본값 – 곱하기 함수나 다른 함수를 호출하는 동안 하나의 인수만 제공하면 Python은 기본적으로 다른 인수를 할당합니다.
  • Python을 사용하면 인수 순서를 반대로 바꿀 수도 있습니다.