함수의 가장 중요한 목적은 동일한 프로그램을 재사용할 수 있도록 돕는 것입니다.
일부 작업을 함수에 연결합니다. 나중에 동일한 작업을 구현하려면 모든 문을 반복하지 않고 함수 이름만 호출하면 됩니다.
먼저 이 함수의 기능을 설명하려면 함수를 정의해야 합니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!