>백엔드 개발 >파이썬 튜토리얼 >Python 기본 함수 소개

Python 기본 함수 소개

高洛峰
高洛峰원래의
2017-03-17 16:32:391196검색

함수의 가장 중요한 목적은 동일한 프로그램을 재사용할 수 있도록 돕는 것입니다.

일부 작업을 함수에 연결합니다. 나중에 동일한 작업을 구현하려면 모든 문을 반복하지 않고 함수 이름만 호출하면 됩니다.

함수 정의

먼저 이 함수의 기능을 설명하려면 함수를 정의해야 합니다.

def square_sum(a,b):
    c = a**2 + b**2
    return c

이 함수의 기능은 두 숫자의 제곱의 합을 구하는 것입니다.

우선 def, 이 키워드는 Python에게 다음과 같이 알려줍니다. 함수를 정의하고 있습니다. square_sum은 함수 이름입니다.

괄호 안의 a와 b는 함수의 매개변수이며 함수에 대한 입력입니다. 매개변수는 여러 개일 수도 있고 전혀 없을 수도 있습니다(그러나 괄호는 유지해야 함).

루프 및 선택 항목에서 소속을 나타내는 콜론과 들여쓰기를 이미 살펴보았습니다.

c = a**2 + b**2        # 这一句是函数内部进行的运算
return c               # 返回c的值,也就是输出的功能。Python的函数允许不返回值,也就是不用return。return可以返回多个值,以逗号分隔。相当于返回一个tuple(定值表)。
return a,b,c          # 相当于 return (a,b,c)

Python에서는 프로그램이 반환에 도달하면 프로그램이 함수의 나머지 명령문 실행을 중지합니다. 반환이 필요하지 않거나 반환 후 반환 값이 없으면 함수는 자동으로 None을 반환합니다. None은 Python의 특별한 데이터 유형으로, 아무것도 나타내지 않는 데 사용되며 C의 NULL과 같습니다. None은 키워드 인수 전달의 기본값으로 주로 사용됩니다.

함수 호출 및 매개변수 전달

함수 정의 후 후속 프로그램에서 이 함수를 사용할 수 있습니다.

print square_sum(3,4 )

Python은 3이 함수 정의의 첫 번째 매개변수 a에 해당하고, 4가 두 번째 매개변수 b에 해당한다는 것을 알고 매개변수를 square_sum 함수에 전달합니다.

(Python에는 키워드 전송, 테이블 전송, 사전 전송 등을 포함한 풍부한 매개변수 전송 방법이 있습니다. 기본 튜토리얼에서는 위치 전송만 다룹니다.)

함수 계산 후 반환 값 25입니다. 이 25는 인쇄물로 인쇄됩니다.

다음 두 가지 예를 살펴보겠습니다.

a = 1
def change_integer(a):
    a = a + 1
    return a
print change_integer(a)
print a
#===(Python中 "#" 后面跟的内容是注释,不执行 )
b = [1,2,3]
def change_list(b):
    b[0] = b[0] + 1
    return b
print change_list(b)
print b

첫 번째 예에서는 정수변수를 함수에 전달하고 함수는 다음을 수행합니다. 해당 작업에 대한 작업이 수행되지만 원래 정수 변수 a는 변경되지 않습니다.

두 번째 예에서는 함수에 테이블을 전달하고 함수가 작동하며 원래 테이블 b가 변경됩니다.

기본 데이터 유형의 변수의 경우 변수가 함수에 전달된 후 함수는 메모리에 새 변수를 복사하므로 원래 변수에는 영향을 미치지 않습니다. (우리는 이를 값 전달이라고 부릅니다.)

그러나 테이블의 경우 테이블은 포인터로 함수에 전달됩니다. 포인터는 함수 내에서 테이블의 시퀀스 위치를 가리킵니다. 원래 메모리에 저장되므로 원래 변수에 영향을 미칩니다. (우리는 이것을 포인터 전달이라고 부릅니다)

요약

def function_name(a,b,c):
    statement
    return something  # return不是必须的

함수의 목적: 프로그램의 반복성을 향상시킵니다.

return None

위치별로 매개변수를 전달합니다.

기본 데이터 유형의 매개변수: 값으로 전달

매개변수로 테이블: 포인터로 전달


위 내용은 Python 기본 함수 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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