python 고급 함수 간단한 소개

2174 단어 python고급함수
함수를 매개 변수로 전입하는데 이런 함수를 고급 함수라고 하는데 고급 함수는 함수식 프로그래밍의 구현이다.함수식 프로그래밍은 이런 고도의 추상적인 프로그래밍 모델을 가리킨다.

1. 고급 함수 체험


Python에서 abs() 함수는 숫자에 대한 절대값 계산을 완성할 수 있습니다.

abs(-10) # 10
round () 함수는 숫자에 대한 반올림 계산을 완성할 수 있습니다.

round(1.2) # 1
round(1.9) # 2
수요: 임의의 두 개의 숫자는 지정된 요구에 따라 숫자를 정리한 후에 다시 구하고 계산한다.
방법 1

def add_num(a, b):
  return abs(a) + abs(b)


result = add_num(-1, 2)
print(result) # 3
방법 2

def sum_num(a, b, f):
  return f(a) + f(b)


result = sum_num(-1, 2, abs)
print(result) # 3
주의: 두 가지 방법을 비교한 결과 방법 2의 코드가 더욱 간결하고 함수 유연성이 높다는 것을 발견했다.
함수식 프로그래밍은 함수를 대량으로 사용하여 코드의 중복을 줄였기 때문에 프로그램이 비교적 짧고 개발 속도가 빠르다.

2. 고급 함수 내장


2.1 map()


map(func, lst), 전송된 함수 변수func를 lst 변수의 모든 요소에 작용하고 결과를 새로운 목록(Python2)/교체기(Python3)로 구성합니다.
수요:list1 서열의 각 숫자의 2차원을 계산합니다.

list1 = [1, 2, 3, 4, 5]


def func(x):
  return x ** 2


result = map(func, list1)

print(result) # <map object at 0x0000013769653198>
print(list(result)) # [1, 4, 9, 16, 25]

2.2 reduce()


reduce(func,lst), 그 중에서func는 반드시 두 개의 매개 변수가 있어야 합니다.매번func가 계산한 결과는 시퀀스의 다음 요소와 누적 계산을 계속합니다.
주의:reduce () 가 전송한 매개 변수func는 두 개의 매개 변수를 받아야 합니다.
수요:list1 시퀀스의 각 숫자의 누적 합을 계산합니다.

import functools

list1 = [1, 2, 3, 4, 5]


def func(a, b):
  return a + b


result = functools.reduce(func, list1)

print(result) # 15

2.3 filter()


filter (func, lst) 함수는 필터 시퀀스에 사용되며, 조건에 맞지 않는 요소를 필터하여 필터 대상을 되돌려줍니다.목록으로 변환하려면list () 를 사용하여 변환할 수 있습니다.

list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


def func(x):
  return x % 2 == 0


result = filter(func, list1)

print(result) # <filter object at 0x0000017AF9DC3198>
print(list(result)) # [2, 4, 6, 8, 10]
이상은python 고급 함수에 대해 간단하게 소개한 상세한 내용입니다. 더 많은python 고급 함수에 대한 자료는 저희 다른 관련 글에 주목하세요!

좋은 웹페이지 즐겨찾기