>  기사  >  백엔드 개발  >  함수 기본(파이썬)

함수 기본(파이썬)

不言
不言원래의
2018-04-04 15:54:051368검색

이 글의 내용은 Python 함수에 대한 기본 지식입니다. 이제 도움이 필요한 친구들이 글의 내용을 참고할 수 있습니다.

함수: 프로그램을 개발할 때 특정 코드 조각이 여러 번 필요하지만 작성 효율성과 코드 재사용을 높이기 위해 독립적인 기능을 가진 코드 블록을 작은 모듈로 구성합니다.
이것이 함수입니다

함수 정의 및 call

<1>함수 정의
함수 정의 형식은 다음과 같습니다.

  def function name():
                                            ’ s ’ s

- 1------ 및
코드인 경우 이 코드를 실행하려면 호출해야 합니다.

함수 호출은 매우 간단합니다. 함수 이름()을 통해 호출을 완료할 수 있습니다.


함수 매개변수(1)

함수를 더욱 다양하게 만들려면 즉, 함수를 정의할 때 함수가 데이터를 수신하도록 할 수 있습니다.

< 1> 정의 매개변수

를 사용하는 함수의 예는 다음과 같습니다.

def add2num(a, b):
c = a+b
print c

<2> a, b) 함수 예: 函 DEF ADD2NUM (A, B):
C = A+B
Print C

Add2num (11, 22) #매개변수가 있는 함수를 호출할 때는 작은 크기에 있어야 합니다. 대괄호, 데이터 전달 & & lt; 4 & gt; 작은 요약

작은 괄호 안의 매개변수는 매개변수를 전달하는 데 사용되는 "공식 매개변수"를 호출할 때 사용되는 매개변수입니다. "실제 매개변수"라고 불리는 함수

함수 반환 값 (1)

  <1> "반환 값" 소개

소위 "반환 값"은 함수 다음에 호출자에게 제공되는 최종 결과입니다. 프로그램은 한 가지를 완료합니다

<2>반환 값이 있는 함수

함수에서 호출자에게 결과를 반환하려면 함수에서 return을 사용해야 합니다

다음 예:

def add2num( a, b):
c = a +b
                                                                                                                                                                               '아들이 너에게 담배를 주었을 때'의 예에서 결국엔 아들한테서 빼앗은 거겠죠? 함수가 데이터를 반환하고 이 데이터를 사용하려면 저장해야 합니다.

저장 기능 반환 값의 예는 다음과 같습니다.  's'를 통해 사용     사용을 통해 through 's through through ''s ‐ ‐‐‐‐‐ together through out to
to​ ​ #because Result는 ADD2NUM의 반환 값을 저장했기 때문에
Print Result

를 사용할 수 있습니다. 결과:

198



함수 반환값(2)
파이썬에서 여러 값을 반환할 수 있나요? ​​​>>>sh, yu = pid(5, 2)
                                                                   ~    유형

함수는 매개변수와 반환값 유무에 따라 서로 결합될 수 있습니다. 총 4가지 유형이 있습니다

매개변수 없음, 반환 값 없음
                                                            ’ ’ ’ s ’ s ‐ ‐ ‐ to to
​                                                          using ' ‐ ‐ ‐ ‐ ‐ ‑ ‐                        일반적으로 인쇄와 유사한 기능은 없습니다.

데이터는 일반적으로 데이터 수집과 같은 기능을 사용합니다


                                                         ~ > ~ 매개변수가 있고 매개변수가 없는 기능 반환 값 能 이러한 함수는 매개 변수를 받을 수 있지만 데이터를 반환할 수는 없습니다. 일반적으로 결과 없이 특정 변수에 대한 데이터를 설정할 때 이러한 함수가 사용됩니다. 이러한 함수는 매개 변수를 받을 수 있을 뿐만 아니라 특정 데이터를 반환할 수도 있습니다. 데이터 처리와 결과의 필요성은 1 ~ num 및
def calculelenum (num)의 축적을 계산합니다.
              1~100의 누적합은 5050

                          함수 호출 시 기본 매개변수 값을 전달하지 않으면 기본값으로 간주됩니다. 다음 예에서는 연령이 전달되지 않은 경우 기본 연령을 인쇄합니다.

                                                                                                                                                                                인쇄 "Age", age In# PrintInfo 함수 호출
Printinfo (이름 = "miki")
PrintInfo(나이 = 9, 이름 = "miki" )

위 예의 출력:

이름: miki
나이 35

이름: 미키: 나이 9

참고: 기본값이 있는 매개변수는 매개변수 목록의 끝에 있어야 합니다.

                           > lt;stdin>", 1행
                구문 오류: 기본 인수가 기본 인수 뒤에 옵니다

                         ~ ~      . 이러한 매개변수를 가변 길이 매개변수라고 하며 선언 시 이름이 지정되지 않습니다. : 기본 문법은 다음과 같습니다: 语 DEF FUNCTIONNAME ([Formal_args,] *ARGS, ** KWARGS):
"Function _ Document strings"
Function_Suite
Return [Expression]

ARGS ( *) 변수 ARGS 이름이 지정되지 않은 모든 변수 매개변수는 저장되면 ARGS는 메타 그룹이고 Kwargs + ** 변수는 키 = 값과 같은 매개변수인 명명 매개변수를 저장하며 KWARGS는 사전입니다. > > ~ | >>>> fun(1, 2, *c, **d) # 튜플과 딕셔너리의 매개변수 전달 방식에 주의하세요
                a = 1
                b = 2
            args = (3, 4, 5)
kwargs:
                                                                               > # 별표를 추가하지 않는 것과 위의 것의 차이점에 유의하세요
                a = 1
                    b = 2
                args = ((3, 4, 5), {'p': 8, 'm': 6, 'n': 7})
                                                                                                         ,,,,, 변수형 변수와 불변형 변수를 각각 함수 매개변수로 사용하는 경우 차이가 있나요? ㅋㅋㅋ                                                                Python에서 포인터로 전달됩니까? + ...
 8 ~ ~ ~                                                     [1, 2, 1, 2]

         Python의 함수 매개변수는 참조로 전달됩니다(값으로 전달되지 않음에 유의하세요). 불변 유형의 경우 종속 변수를 수정할 수 없으므로 작업이 변수 자체에 영향을 미치지 않습니다. 변경 가능한 유형의 경우 함수 본문의 작업이 전달된 매개 변수 변수를 변경할 수 있습니다.


함수 중첩 호출

def testB():
print('---- testB start----')
print('여기에 testB 함수에 의해 실행되는 코드가 있습니다.')
print('- - -- testB 끝----')


def testA():

print('---- testA 시작----')

testB()

                                                                       testA 시작                   testA() -StIn testb 함수에 의해 실행되는 코드


---- TESTB END ----
---- TESTA END ----



생각 및 구현 1

가로줄을 인쇄하는 함수 작성
맞춤 가로줄 개수 인쇄

                                                                     | ~                            를 통해 ) 2의 생각 및 구현

세 개의 숫자에 대한 함수를 작성하고

세 숫자의 평균값을 구하는 함수. B, C): t Return A+B+C # Return은 뒤에도 유용할 수 있지만 표현식도 가능합니다.

# sum3Number 함수는 이미 평균값을 구합니다. 3개 숫자의 합을 완성하면 부르기만 하면 됩니다
                                                                                         | = 평균3숫자 (11,2,55)
인쇄("평균 is %d" %result) 지역 변수는 함수 내부에 정의된 변수입니다. 서로 다른 함수에서 같은 이름의 지역 변수를 정의할 수 있지만, 다른 이름을 사용해도 지역 변수의 역할에는 영향을 미치지 않습니다. 데이터를 임시로 저장하려면 변수에 다음이 필요합니다. 함수에서 정의하는 것이 바로 함수입니다

전역 변수
함수나 다른 함수에서 사용할 수 있는 변수는 전역 변수입니다

데모는 다음과 같습니다.

# 전역 변수를 정의합니다. ~ )


함수 외부에서 정의된 변수를 전역 변수라고 합니다.
전역 변수는 모든 함수에서 접근 가능합니다.
함수 내에서 전역 변수를 수정하는 경우 전역 변수를 사용해야 합니다. 선언하지 않으면 오류가 발생합니다.
전역 변수의 이름이 지역 변수의 이름과 동일하면 지역 변수입니다. 약간의 트릭을 사용하면 지역 뱀을 압도하지 않을 수 있습니다


재귀 함수.
함수가 내부적으로 다른 함수를 호출하지 않고 자체 호출하는 경우 이 함수는 재귀 함수입니다.
예를 들어 계승 n! = 1 * 2 * 3 * ... * n
def calNum(num):
i = 1
turn *= i
                                                                                                                     ,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,, i+=1,, 이 유형의 함수는 def를 사용하여 함수를 선언하는 표준 단계가 생략된다는 사실에서 이름을 얻었습니다.

람다 함수의 구문에는 다음과 같이 하나의 문만 포함됩니다.

람다 [arg1 [,arg2,...argn]]:expression

다음 예:

sum = 람다 arg1, arg2: arg1 + arg2
M #SUM 함수 호출
"Value of Total:", SUM (10, 20) 인쇄
"Value of Total:", SUM (20, 20) 인쇄 위의 인스턴스 출력 결과:

합계 값: 30
총 값: 40

람다 함수는 여러 개의 매개변수를 받을 수 있지만 표현식의 값만 반환할 수 있습니다.

람다에는 표현식이 필요하기 때문에 익명 함수는 print를 직접 호출할 수 없습니다.
응용 시나리오
함수는 매개변수로 전달됩니다

자체 기능 정의

                                                                                                ~                                              "선택 (a, b)
...
& gt; & gt; & gt; fun (1, 2, 람다 x, y: x+y)
a = 1
b = 2 결과 = 3

내장 함수의 매개변수

생각해 보세요. 다음 데이터를 나이 또는 이름별로 정렬하도록 어떻게 지정합니까? " age":17}
]

이름순 정렬:

>>> stus.sort(key = 람다 x:x['name'])
>>> age': 19, 'name': 'lisi'}, {'age': 17, 'name': 'wangwu'}, {'age': 18, 'name': 'zhangsan'}]

정렬 기준 나이 :

>>> stus.sort(key = 람다 x:x['age'])
>>> stus
[{'age': 17, 'name': 'wangwu' } , {'나이': 18, '이름': '장산'}, {'나이': 19, '이름': 'lisi'}]

함수 사용 시 주의사항

1. 맞춤 함수

                    1 & gt; 매개변수 없음, 반환 값 없음

DEF 함수 이름():
& & lt; 2 & gt; 매개 변수 없음, 반환 값

DEF 함수 이름():
상태
반환 값으로 반환

:底 함수 반환 값이 있는지, Return이 있는지에 따라 Return만이 데이터를 반환할 수 있기 때문입니다
개발 과정에서 함수는 값을 반환해야 하는지 여부에 따라 설계되는 경우가 많습니다. 함수에는 여러 개의 return 문이 있을 수 있지만 하나의 return 문이 실행되면 해당 함수의 호출이 완료된다는 의미입니다. <3> 매개변수가 있지만 반환값이 없습니다

              def 함수 이름(매개변수 목록):
                  명령문

                                ''s 's 's 's ' s ' s ' s         아웃 아웃 아웃 오프 아웃 아웃 아웃 out out out out of 's 's'' 's ‐ ‐n ‐ ​ ​                  매개변수 목록에서 변수의 개수는 실제로 전송된 데이터의 양에 따라 결정됩니다

                                  ~                                            
                                      기능 이름은 반복할 수 없습니다. 함수 호출

& lt; 1 & gt; 호출 방법:

함수 이름([실제 매개변수 목록])

& lt; 2 & gt; 전화했을 때 통과

                                                                                                   >                       함수에는 반환 값이 있으며 변수를 사용하여 값을 저장할 수 있습니다

3. 범위

          <1> 함수에 정의된 변수는 이 함수에서만 사용할 수 있습니다(로컬 변수)

<2>함수 외부에 정의된 변수는 모든 함수(전역변수)에서 사용 가능합니다.
관련 권장사항:


파이썬 기본 함수 소개

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

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