python 함수 성명 및 호출 정의 및 원리 상세 설명
함 수 는 코드 세 션 을 말 합 니 다.중복 호출 할 수 있 습 니 다.예 를 들 어 앞에서 접 한 type()/len()등 은 모두 함수 입 니 다.이 함수 들 은 python 의 내장 함수 이 고 python 바 텀 패 키 징 후 일부 기능 을 실현 하 는 데 사 용 됩 니 다.
함수 정의
Python 에서 함수 가 def 문 구 를 사용 해 야 한 다 는 것 을 정의 합 니 다.함수 이름,괄호,괄호 에 있 는 인자 와 콜론 을 순서대로 작성 한 다음 들 여 쓰기 블록 에서 함수 체 를 작성 하고 함수 의 반환 값 은 return 문 구 를 사용 하여 되 돌려 줍 니 다.return 구문 이 없 으 면 기본 값 으로 None 로 돌아 갑 니 다.
def functionname( parameters ):
" "
function_suite
return [expression]
예 를 들 어 함수 출력'hello World'를 작성 합 니 다.
def cusom_print():
print("hello world")
함수 호출py 파일 에서 코드 가 한 줄 한 줄 실 행 될 때 함수 의 정 의 를 만나면 컴 파일 러 는 자동 으로 건 너 뛰 고 함수 가 실 행 된 후의 코드 는 함 수 를 호출 하려 면 직접 호출 하면 됩 니 다.
메모:함수 가 호출 되 기 전에 먼저 설명해 야 합 니 다.python 의 내 장 된 함수,예 를 들 어 print/type 함수 등 은 python 컴 파일 러 내부 에서 설명 하고 정의 되 었 습 니 다.우 리 는 호출 만 하면 됩 니 다.구체 적 인 내부 가 어떻게 실현 되 는 지 에 관심 을 가 질 필요 가 없습니다.예제 코드 는 다음 과 같다.
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:
@Blog( ): shuopython.com
@WeChat Official Account( ): python
@Github:www.github.com
@File:python_function.py
@Time:2019/10/3 10:48
@Motto: , , !
"""
def custom_print():
print("hello world")
print("hello world")
print("hello world")
custom_print()
출력 결과:
hello world
hello world
hello world
코드 분석:코드 가 15 줄 까지 실 행 될 때 컴 파 일 러 는 이것 이 함수 성명 이라는 것 을 발 견 했 습 니 다.컴 파 일 러 는 실행 하지 않 고 함수 끝 20 줄 로 자동 으로 넘 어 갑 니 다.컴 파 일 러 는 20 줄 이 custom 을 호출 하고 있 음 을 발 견 했 습 니 다.print()함수,custom 에 바로 들 어 갑 니 다.print()함수 가 함수 내 코드 16/17/18 줄 을 함수 가 끝 날 때 까지 실행 하 는 것 이 전체 운행 과정 입 니 다.함수 전 삼
함 수 는 외부 에서 매개 변 수 를 전달 할 수 있 습 니 다.예 를 들 어 print()함 수 는 문자열 을 직접 전달 하고 문자열 을 인쇄 할 수 있 습 니 다.매개 변 수 를 전달 하지 않 아 도 됩 니 다.예 를 들 어 위의 customprint 함수,자신의 수요 에 따라 정 합 니 다.
함수 가 설명 할 때 정 의 된 매개 변 수 를 형 삼 이 라 고 합 니 다.외부 호출 함수 가 전달 하 는 매개 변 수 를 실 삼 이 라 고 합 니 다.함수 의 매개 변 수 는 두 가지 유형 이 있 습 니 다.
1.일반적인 매개 변수
일반적으로 함 수 는 기본적으로 몇 개의 형 삼 이 있 는데 외부 에서 호출 할 때 몇 개의 실 삼 을 전달 해 야 합 니까?예시 코드 는 다음 과 같 습 니 다.
def cusom_print1(x):
print("cusom_print1 : x={}".format(x))
def cusom_print2(x,y):
print("cusom_print2 : x={}".format(x))
print("cusom_print2 : y={}".format(y))
def cusom_print3(x,y,z):
print("cusom_print3 : x={}".format(x))
print("cusom_print3 : y={}".format(y))
print("cusom_print3 : z={}".format(z))
cusom_print1(1)
cusom_print2(1,2)
cusom_print3(1,2,3)
출력 결과:
cusom_print1 : x=1
cusom_print2 : x=1
cusom_print2 : y=2
cusom_print3 : x=1
cusom_print3 : y=2
cusom_print3 : z=3
2.결 성 된 매개 변수함수 매개 변수 에서 일반적인 매개 변 수 를 제외 하고 결 성 된 매개 변수 가 있 습 니 다.즉,결 성 된 매개 변 수 는 기본 값 이 있 습 니 다.만약 에 외부 에서 이 함수 가 결 성 된 매개 변수 에 매개 변 수 를 전달 하지 않 으 면 이 형 삼 은 기본 매개 변수 값 을 직접 가 져 옵 니 다.만약 에 외부 호출 시 결 성 된 매개 변수 에 파 라 메 터 를 전달 하면 이 인삼 의 값 은 외부 에서 전달 하 는 매개 변수 와 같 고 결 성 된 매개 변 수 를 가 진 함수 도 결 성 함수 라 고 부 르 며 예제 코드 는 다음 과 같다.
def cusom_print4(x,y=2,z=3): # x=2,z=3
print("cusom_print4 : x={}".format(x))
print("cusom_print4 : y={}".format(y))
print("cusom_print4 : z={}".format(z))
print("***"*20)
cusom_print4(1)
cusom_print4(1,4)
cusom_print4(1,4,3)
출력 결과:
cusom_print4 : x=1
cusom_print4 : y=2
cusom_print4 : z=3
************************************************************
cusom_print4 : x=1
cusom_print4 : y=4
cusom_print4 : z=3
************************************************************
cusom_print4 : x=1
cusom_print4 : y=4
cusom_print4 : z=3
************************************************************
주의:1.결 성 된 매개 변 수 는 모두 기본 값 이 있 습 니 다.외부 에서 결 성 된 매개 변 수 를 전달 하지 않 으 면 기본 값 을 직접 가 져 옵 니 다.그렇지 않 으 면 외부 에서 전달 하 는 매개 변수 값 과 같 습 니 다.
2.결 성 된 매개 변 수 는 함수 형 삼 의 끝 에 써 야 합 니 다.
#
def cusom_print4(x,y=2,z):
print("cusom_print4 : x={}".format(x))
3.부정 확 한 길이 매개 변수위의 두 가 지 를 제외 하고 함수 의 매개 변수 중 에 길이 가 정 해 지지 않 은 매개 변수 가 있 습 니 다.즉,함수 의 형 삼 길이/유형 이 모두 고정 되 지 않 습 니 다.
함수 반환 값 return
함수 의 반환 값 은 있 으 나 마 나 자신의 사용 수요 에 따라 결정 된다.함수 가 return 반환 값 이 없 으 면 기본적으로 None,즉 빈 값 을 되 돌려 줍 니 다.False 와 달리 0 도 표시 하지 않 고 빈 문자열 도 표시 하지 않 으 며 값 이 없 음,즉 빈 값 을 표시 합 니 다.
중점 총화
1.함수 의 성명 은 호출 되 기 전에 해 야 합 니 다.그렇지 않 으 면 잘못 보고 할 수 있 습 니 다.
2.매개 변수 가 부족 한 매개 변수 쓰기 에 주의 하 십시오.
3.함수 가 return 을 사용 하지 않 았 습 니 다.기본 값 은 None 로 되 돌아 갑 니 다.
이 글 은 주로 python 함수 성명 과 호출 정의 및 원리 에 대한 상세 한 설명 을 소개 합 니 다.글 에서 예제 코드 를 통 해 소개 한 것 은 매우 상세 하고 여러분 의 학습 이나 업무 에 대해 어느 정도 참고 학습 가 치 를 가지 기 때문에 필요 한 친 구 는 참고 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.