> 백엔드 개발 > 파이썬 튜토리얼 > Python 튜토리얼 - 기능

Python 튜토리얼 - 기능

DDD
풀어 주다: 2025-01-06 13:52:40
원래의
246명이 탐색했습니다.

소개

이 함수는 코드 중복을 줄이고 복잡한 작업을 구성하는 것을 목표로 하는 명령이 포함된 호출 가능한 단위입니다. void 함수(반환 값 없음)와 값을 반환하는 함수의 두 가지 유형이 있습니다.

파이썬의 기본 함수 구조입니다.

def function_name(args):
    function body
로그인 후 복사
로그인 후 복사
로그인 후 복사

파이썬의 void 함수(반환 값 없음)의 예입니다.

# create a function
def hello():
    print("hello!")

# call the function
hello()
로그인 후 복사
로그인 후 복사
로그인 후 복사

출력

hello!
로그인 후 복사
로그인 후 복사
로그인 후 복사

위 코드를 바탕으로 hello()라는 함수가 생성됩니다. 함수 이름 뒤에 괄호()를 지정하면 함수가 호출됩니다.

반환값을 이용한 fa unction의 예시입니다.

# create a function with return value
def add(a,b):
    return a + b

result = add(2,4)

print(result)
로그인 후 복사
로그인 후 복사
로그인 후 복사

출력

6
로그인 후 복사
로그인 후 복사
로그인 후 복사

위의 코드를 기반으로 두 숫자의 합을 계산하는 add()라는 함수가 생성됩니다. add() 함수의 반환 값은 결과 변수 내부에 저장됩니다.

반환 값 기능을 사용할 때는 반환 값이 사용되고 있는지 확인하세요.

인수 및 키워드 인수

Python의 함수는 여러 인수를 동적으로 사용할 수 있습니다. 함수에 여러 인수를 구현하는 방법에는 두 가지가 있습니다.

  • 인수: 여러 인수는 키워드를 지정하지 않고 함수에서 구현됩니다. 인수는 *args를 사용하여 구현할 수 있습니다.

  • 키워드 인수: 여러 인수가 지정된 키워드를 사용하여 함수에 구현됩니다. 키워드 인수는 **kwargs를 사용하여 구현할 수 있습니다.

인수와 키워드 인수는 모두 함수에서 인수 정의의 마지막 위치에 있어야 합니다.

이것은 숫자의 합을 동적으로 계산하기 위해 인수 접근 방식을 사용하는 다중 인수 구현의 예입니다.

def sum(*args):
    result = 0
    for arg in args:
        result += arg
    return result

print(sum(1,2))
print(sum(1,2,3))
print(sum(1,2,3,4,5,4,3,2))
로그인 후 복사
로그인 후 복사
로그인 후 복사

출력

3
6
24
로그인 후 복사
로그인 후 복사
로그인 후 복사

위 코드를 기반으로 sum() 함수를 다양한 매개변수 개수로 호출할 수 있습니다.

키워드 인수 접근 방식을 사용한 다중 인수 구현의 예입니다.

def display_info(name,**kwargs):
    print("========")
    print(f"name: {name}")
    print("other informations")
    for k, val in kwargs.items():
        print(f"{k}: {val}")
    print("========")

display_info("john",job="programmer",company="acme inc")
display_info("doe",job="programmer",company="acme inc",skills="go,java,php")
로그인 후 복사
로그인 후 복사

출력

========
name: john
other informations
job: programmer
company: acme inc
========
========
name: doe
other informations
job: programmer
company: acme inc
skills: go,java,php
========
로그인 후 복사
로그인 후 복사

위 코드를 기반으로 다양한 수의 매개변수를 사용하여 display_info() 함수를 호출할 수 있습니다. **kwargs를 사용하면 키워드로 매개변수를 정의할 수 있습니다.

인수와 키워드 인수를 모두 함께 사용할 수 있습니다. 예시입니다.

def display(*args,**kwargs):
    print("===========")
    print("items")
    for arg in args:
        print(arg)
    print("other information")
    for k, val in kwargs.items():
        print(f"{k}: {val}")
    print("===========")

display("apple","coffee","milk",payment="cash")
display("TV","Camera",payment="cash",delivery="express")
로그인 후 복사
로그인 후 복사

출력

===========
items
apple
coffee
milk
other information
payment: cash
===========
===========
items
TV
Camera
other information
payment: cash
delivery: express
===========
로그인 후 복사
로그인 후 복사

재귀 함수

재귀 함수는 작업을 수행할 때 자신을 호출하는 함수입니다. 재귀 함수는 계승수, 피보나치 수열 등을 포함한 많은 문제를 해결할 수 있습니다.

재귀 함수에는 두 가지 주요 구성 요소가 있습니다.

  • 기본 사례: 기본 사례는 함수가 중지되는 시기를 정의합니다.
  • 반복 관계: 반복 관계는 함수의 재귀 과정을 정의합니다.

이 예에서는 재귀 함수를 사용하여 계승 계산을 구현합니다.

def function_name(args):
    function body
로그인 후 복사
로그인 후 복사
로그인 후 복사

출력

# create a function
def hello():
    print("hello!")

# call the function
hello()
로그인 후 복사
로그인 후 복사
로그인 후 복사

factorial() 함수에 대해 자세히 살펴보겠습니다. 이 기능에는 두 가지 구성 요소가 포함됩니다.

  • 기본 사례: n 값이 0 또는 1이면 함수 실행이 종료됩니다.

  • 반복 관계: n의 값이 1보다 클 경우 함수가 실행됩니다.

hello!
로그인 후 복사
로그인 후 복사
로그인 후 복사

factorial() 함수는 아래 그림에 나와 있습니다.

Python Tutorial - unction

람다

람다는 익명 함수입니다. 람다는 일반적인 함수와 마찬가지로 많은 인수를 포함할 수 있습니다. 람다 함수는 값을 직접 반환하는 작은 함수를 만드는 데 적합합니다.

sum() 함수의 예시입니다.

# create a function with return value
def add(a,b):
    return a + b

result = add(2,4)

print(result)
로그인 후 복사
로그인 후 복사
로그인 후 복사

두 숫자를 더하는 람다 함수의 예입니다. 람다 함수는 sum_func라는 변수 안에 저장됩니다.

6
로그인 후 복사
로그인 후 복사
로그인 후 복사

람다 함수를 사용하려면 변수 이름으로 함수를 호출하세요.

def sum(*args):
    result = 0
    for arg in args:
        result += arg
    return result

print(sum(1,2))
print(sum(1,2,3))
print(sum(1,2,3,4,5,4,3,2))
로그인 후 복사
로그인 후 복사
로그인 후 복사

맵 및 필터

지도 기능

map() 함수는 목록 내의 각 항목에 대해 제공된 콜백 함수를 실행합니다.

각 숫자에 3을 곱하는 map() 함수의 예시입니다.

3
6
24
로그인 후 복사
로그인 후 복사
로그인 후 복사

출력

def display_info(name,**kwargs):
    print("========")
    print(f"name: {name}")
    print("other informations")
    for k, val in kwargs.items():
        print(f"{k}: {val}")
    print("========")

display_info("john",job="programmer",company="acme inc")
display_info("doe",job="programmer",company="acme inc",skills="go,java,php")
로그인 후 복사
로그인 후 복사

위 코드에 따르면, Triple() 함수는 map() 함수에 대한 콜백 역할을 합니다. 즉, 숫자 목록의 각 항목에 대해 Triple() 함수가 호출된다는 뜻입니다. 그러면 map() 함수의 결과가 리스트로 변환되어 result라는 변수 안에 저장됩니다.

위의 예는 람다 함수를 사용하여 단순화할 수 있습니다.

========
name: john
other informations
job: programmer
company: acme inc
========
========
name: doe
other informations
job: programmer
company: acme inc
skills: go,java,php
========
로그인 후 복사
로그인 후 복사

출력

def display(*args,**kwargs):
    print("===========")
    print("items")
    for arg in args:
        print(arg)
    print("other information")
    for k, val in kwargs.items():
        print(f"{k}: {val}")
    print("===========")

display("apple","coffee","milk",payment="cash")
display("TV","Camera",payment="cash",delivery="express")
로그인 후 복사
로그인 후 복사

필터 기능

filter() 함수는 주어진 콜백 함수를 기반으로 목록 내의 항목을 선택합니다. filter() 함수는 제공된 콜백 함수를 사용하여 목록 내의 항목을 필터링하는 데 적합합니다. filter() 함수에는 부울 값을 반환하는 콜백 함수가 필요합니다.

목록에서 짝수만 선택하는 filter() 함수의 예시입니다.

===========
items
apple
coffee
milk
other information
payment: cash
===========
===========
items
TV
Camera
other information
payment: cash
delivery: express
===========
로그인 후 복사
로그인 후 복사

출력

def factorial(n):
    if n == 0 or n == 1:
        return 1
    else:
        return n * factorial(n-1)

# call the function
result = factorial(5)

print(result)
로그인 후 복사

위 코드를 기반으로 filter() 함수는 is_even()을 콜백 함수로 사용하여 목록에서 짝수를 선택합니다.

이 예는 람다 함수를 사용하여 단순화할 수 있습니다.

120
로그인 후 복사

출력

def function_name(args):
    function body
로그인 후 복사
로그인 후 복사
로그인 후 복사

예 - 중복 코드 제거

중복 코드를 제거하는 기능을 사용할 수 있습니다. 예를 들어,register()와 login()이라는 두 가지 함수가 있습니다. 두 기능 모두 유효성 검사 프로세스를 사용하고 있습니다.

# create a function
def hello():
    print("hello!")

# call the function
hello()
로그인 후 복사
로그인 후 복사
로그인 후 복사

인증 과정에서 중복된 코드가 있습니다. 이러한 중복 항목을 제거하려면 유효성 검사 프로세스를 별도의 함수로 래핑할 수 있습니다.

hello!
로그인 후 복사
로그인 후 복사
로그인 후 복사

validate() 함수는 Register() 및 login() 함수 내에서 사용할 수 있습니다.

# create a function with return value
def add(a,b):
    return a + b

result = add(2,4)

print(result)
로그인 후 복사
로그인 후 복사
로그인 후 복사

위의 코드를 기반으로 하면 추가 유효성 검사 규칙이 업데이트되면 유효성 검사 규칙을 한 곳(validate() 함수 내부)에서 업데이트할 수 있기 때문에 코드가 더 깔끔하고 수정하기 쉽습니다.

Python에서 함수를 사용할 때 중요한 팁입니다.

  • 함수는 단일 작업을 완료해야 합니다. 여러 작업이 필요한 경우 다른 작업을 위해 별도의 기능을 만드세요.

  • 함수 인수의 최대 개수는 3개입니다. 인수가 3개 이상인 경우 함수 인수 전용 데이터 개체를 사용하는 것이 좋습니다.

함수 인수의 최대 개수에 대해서는 논쟁의 여지가 있는 것 같습니다.

인수를 이용한 create_account() 함수의 예입니다.

6
로그인 후 복사
로그인 후 복사
로그인 후 복사

더 깔끔한 코드를 위해 데이터 객체를 사용하도록 create_account() 함수를 수정할 수 있습니다.

def sum(*args):
    result = 0
    for arg in args:
        result += arg
    return result

print(sum(1,2))
print(sum(1,2,3))
print(sum(1,2,3,4,5,4,3,2))
로그인 후 복사
로그인 후 복사
로그인 후 복사
  • 문서를 사용하여 기능 설명을 설명하세요. 문서는 """ 구문을 사용하여 추가할 수 있습니다.

함수 내부에서 문서를 활용한 예입니다.

3
6
24
로그인 후 복사
로그인 후 복사
로그인 후 복사

출처

  • 함수의 인수 및 키워드 인수
  • 재귀 함수 그림

이 기사가 Python을 배우는 데 도움이 되기를 바랍니다. 피드백이 있으시면 댓글로 알려주세요.

위 내용은 Python 튜토리얼 - 기능의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿