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

Python 기본 내용: 함수

巴扎黑
巴扎黑원래의
2017-04-01 13:22:171274검색

함수는 단일 또는 관련 기능을 구현하는 데 사용되는 체계적이고 재사용 가능한 코드 세그먼트입니다. 함수는 애플리케이션 모듈성과 코드 재사용을 향상시킬 수 있습니다. 직접 만든 함수를 사용자 정의 함수라고 합니다. 함수 정의 사양: 1. 함수 코드 블록은 def 키워드로 시작하고 그 뒤에 함수 식별자 이름과 괄호()가 옵니다.
2. 들어오는 매개변수와 독립변수는 괄호 사이에 배치해야 하며, 괄호 사이의 공백을 사용하여 매개변수를 정의할 수 있습니다.
3. 함수 문의 첫 번째 줄에서는 선택적으로 함수 설명을 저장하는 데 사용되는 문서 문자열을 사용할 수 있습니다.
4. 함수 내용은 콜론으로 시작하고 들여쓰기됩니다.
5.return [표현식]은 함수를 종료하고 선택적으로 호출자에게 값을 반환합니다. 표현식 없이 반환하는 것은 None을 반환하는 것과 같습니다.
함수 정의 구문: def 함수 이름(형식 매개변수): 함수 본문. 기본적으로 매개변수 값과 매개변수 이름은 함수 선언에 정의된 순서대로 일치합니다. 예: #정식 매개변수를 정의할 수 없습니다>>> def
show():... print('show fun')...>>> show() show fun 간단한 면적 계산 함수: >>> def
area(height,width):... a = height*width... return a...>>> 함수는 함수명()을 직접 사용한다. 함수명을 직접 사용하면 함수의 물리적인 내용 주소를 반환한다. ()가 추가되면 실행된 함수의 형식적 매개변수와 실제 매개변수를 나타낸다.>> ; def
area(height,width):... a = height*width... return a...>>> 이 예에서 높이와 너비는 형식적입니다. 함수의 구조와 논리를 정의하는 데 사용되는 매개변수 다음 4개와 5개는 실제 매개변수로, 함수 호출 시 사용자가 실제로 전달하는 매개변수는 실제 매개변수의 개수와 동일해야 합니다. 일관성을 유지하기 위해 호출 시 형식 매개변수의 특정 값은 실제 매개변수가 전달되는 순서에 따라 일대일로 대응됩니다. 예를 들어 4는 높이에 해당하고 5는 너비에 해당합니다. 키워드 매개변수(지정된 매개변수) 키워드 매개변수를 사용하면 함수 호출 시 매개변수가 변경될 수 있습니다. 구체적인 사용법은 다음과 같습니다>>>
def Area(height,width). :... a = height*width... return a...>>>
area(width = 5,height = 4)# 특정 형식의 값만 지정하면 됩니다. 함수 호출 시 매개변수 기본 매개변수 함수 호출 시 매개변수가 전달되지 않으면 기본 매개변수가 사용됩니다. 기본 매개변수는 모든 형식 매개변수의 끝 부분에 정의되어야 합니다>>>
def stu(name,age,grade=3):... Print('name is %s,age is %s,grade is %s' %
(name,age,grade))...>>>
stu('ian',10) #여기에는 등급 매개변수가 전달되지 않으며 기본적으로 등급이 사용됩니다 =
3이름은
ian,나이는 10,학년은 3>>>
stu('isha',9,4)이름은
isha,나이는 9,학년은 4다이나믹 매개변수 #동적 매개변수 01, 들어오는 모든 실제 매개변수를 기본 요소에 추가합니다. def main2(*arg): print(arg,type(arg))main2(1,2,3,4) #동적 매개변수 02, 입력된 모든 매개변수를 전달합니다. 실제 매개변수는 사전에 추가됩니다 def main3(**kwargs): print(kwargs,type(kwargs))main3(k1=12,k2='ian') #동적 매개변수 03, 위의 두 항목이 결합됩니다 def
main4(*args,**kwargs): print(args,type(args)) print(kwargs,type(kwargs))main4(1,2,k1=12,k2='ian') # 위 형식은 여기에서 매개변수와 실제 매개변수의 순서는 뒤바꿀 수 없습니다. 그렇지 않으면 오류가 보고됩니다. #동적 매개변수 4, 실제 매개변수가 변수인 경우 동적 매개변수에 지정하는 방법--->With *def
main4 (*args,**kwargs) : print(args,type(args)) print(kwargs,type(kwargs))m = [1,2]n =
{'k1':12,'k2': 'ian'}main4(*m ,**n) 요약: Python 함수는 간단한 호출을 구현할 수 있을 뿐만 아니라 매우 복잡한 매개변수를 전달할 수도 있는 매우 유연한 매개변수 형식을 가지고 있습니다. 기본 매개변수는 변경 불가능한 객체를 사용해야 합니다. 변경 가능한 객체인 경우 작동 시 논리 오류가 발생합니다. 변수 매개변수와 키워드 매개변수를 정의하는 구문에 주의하세요. *args는 변수 매개변수이고, args는 튜플을 받습니다. **kwargs는 키워드 매개변수이고, kwargs는 딕셔너리를 받습니다. *args 및 **kwargs를 사용하는 것은 Python 규칙입니다. 물론 다른 매개변수 이름도 사용할 수 있지만 규칙을 사용하는 것이 가장 좋습니다. 익명 함수 파이썬은 람다
를 사용하여 익명 함수를 만듭니다. 소위 익명이란 함수를 정의하기 위해 더 이상 def
문의 표준 형식을 사용하지 않는다는 것을 의미합니다. 1.lambda는 단지 표현식일 뿐이며 함수 본문은 def보다 훨씬 간단합니다.
2. 람다의 본문은 코드 블록이 아닌 표현식입니다. 제한된 논리만 람다 식으로 캡슐화할 수 있습니다.
3.lambda
함수에는 자체 네임스페이스가 있으며 자체 매개변수 목록 외부 또는 전역 네임스페이스에 있는 매개변수에 액세스할 수 없습니다.
4. 람다 함수는 한 줄만 쓸 수 있는 것처럼 보이지만 C나 C++의 인라인 함수와 동일하지 않습니다. 후자의 목적은 소규모 호출 시 스택 메모리를 차지하지 않아 작업 효율성을 높이는 것입니다. 기능.
익명 함수 구문 람다 함수 구문에는 다음과 같이 하나의 문만 포함됩니다. 람다 [arg1
[,arg2,.....argn]]:식 예:>>>
su = 람다 a,b,c: a + b + c>>> 3) 6개의 return 문 return은 함수를 종료하는 데 사용됩니다. return [표현식]을 사용하면 함수를 종료할 때 표현식이 반환됩니다. 매개변수 없이 return은 none을 반환합니다. >>> .. a = 높이*너비... return a...>>> ar =
area(4,5)>>>
print('area is', ar) 영역은 20개입니다. 전역 변수 및 지역 변수 함수 정의 내에서 변수를 선언하면 함수 외부에서 동일한 이름을 가진 다른 변수와 관계가 없습니다. 즉, 변수 이름은
함수에 대해 지역적입니다. 이것을 변수의 범위라고 합니다. 모든 변수의 범위는 이름이 정의된 지점부터 시작하여 변수가 정의된 블록입니다. 지역 변수: def func(x): print ('x is',x) x=2 print ('Changed local x to',x) x=50func(x)print ('x is still',x) 결과 is: x is 50Changed local x to 2x is still 50 global 문 사용하기 함수 외부에 정의된 변수에 값을 할당하려면 Python에 변수 이름이 로컬이 아니라
global이라고 알려야 합니다. . 이 기능을 수행하기 위해 global 문을 사용합니다. global 문이 없으면 함수 외부에 정의된 변수에 값을 할당하는 것이 불가능합니다. def func(): 전역 x print ('x is',x) x=2 print ('Changed local x to',x) x=50func()print ('x is still',x) 결과는 다음과 같습니다: x is 50Changed local x to 2x is still 2 #global 문은 x가 전역임을 선언하는 데 사용되므로 함수 내에서 x에 값을 할당하면 함수 외부의 x 값도 직접 변경됩니다

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

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