>백엔드 개발 >파이썬 튜토리얼 >Python 학습 노트 - 함수 정의

Python 학습 노트 - 함수 정의

高洛峰
高洛峰원래의
2016-11-15 14:55:481609검색

파이썬에서 함수를 정의하는 키워드는 def입니다. 예를 들어 my_function이라는 함수를 정의하려면 이렇게 정의하면 됩니다. 여기서 괄호 안의 x와 y는 전달된 매개변수입니다.

def my_function():
    # function body

반환값

함수는 return 키워드를 사용하여 데이터를 반환할 수 있습니다. 반환될 때까지 함수가 실행되면 반환되고 더 이상 함수를 실행하지 않습니다. return 문이 없는 함수는 기본적으로 None을 반환합니다.
return 없음은 return으로 축약될 수 없습니다.

빈 함수

아무 일도 하지 않는 함수를 정의하려면 pass 문을 사용하면 됩니다.
예를 들어

def do_nothing()
    pass

pass는 자리 표시자 역할을 합니다. 이 함수의 특정 내용을 정의할 필요가 없으면 pass를 사용할 수 있습니다.

매개변수 확인

이전 기사에서는 내장된 함수가 전달된 매개변수의 개수와 데이터 유형을 확인한다고 소개했습니다. 그렇다면 Python은 사용자 정의 함수를 어떻게 처리합니까?
함수를 정의합니다

def my_function(x,y):
    return x*y

호출: my_function(1,2,3)

오류:

Traceback (most recent call last):
  File "/Users/W/Code/Python/LearnPython/DataType.py", line 4, in <module>
    my_function(1,2,3)
TypeError: my_function() takes exactly 2 arguments (3 given)

호출: my_function(1," abc")

오류 보고: 오류 메시지가 반환되지 않습니다. 실제로 my_function에 의해 전달된 두 매개변수는 정수와 부동 소수점 숫자여야 합니다.

함수에 매개변수 검사 추가

my_function을 일부 변경합니다.

def my_function(x, y):
    if not (isinstance((x,y),(int,float)) and isinstance(y,(int,float))):
        raise TypeError(&#39;Bad operand type&#39;)
    return x*y

이때, my_function 함수를 호출하고 잘못된 매개변수를 전달하면 TypeError가 발생합니다.

여러 값을 반환하는 함수

Python은 여러 값 반환을 지원합니다. Python은 실제로 튜플을 반환하여 이를 구현합니다. 간단한 데모를 통해 이를 확인할 수 있습니다.

def func():
    return 2, 3
print func()

는 (2,3)과 같은 튜플을 출력합니다.
구문적으로는 튜플을 반환할 때 괄호를 생략할 수 있습니다. 즉, 여러 변수가 동시에 튜플을 받아 위치에 따라 해당 값을 할당할 수 있습니다. 예를 들어
x,y = func().

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.