Python/Language

[python] 함수

오늘도개발 2023. 8. 15. 13:22

 

1. 함수 정의

 

 - 함수의 기본구조 def 함수명(매개변수): 형태로 함수를 정의한다.

 

  def cal(num1,num2):

        return num1+num2

 

  print(cal(1,2))   --> 화면에 3이 출력된다. (num1 = 1, num2 =2)

 

 - 매개변수는 위치로 값을 넘겨 줄 수 있으며 초기값을 할당 할 수 도 있다.

 

 def cal(num1,num2=4):

       return num1+num2

 

  print(cal(1))  --> 화면에 5가 출력된다 (num1 =1, num2 =4)
  print(cal(1,2))  --> 화면에 3이 출력된다.

 

 - 매개변수를 키워드로 매칭 할 수 도 있다.

 

  def cal(num1, num2=4):
      return num1 + num2

  print(cal(num1=1,num2=2)) --> 화면에 3이 출력된다.

 

 - 매개변수의 갯수를 정하지 않을 수 도 있다. (튜플형 : 매개변수 앞 * 입력, 딕셔너리형 : 매개변수 앞 ** 입력)

 

def cal(*nums):

    result = 0

    for num in nums:

        result += num

    return result

 

  print(cal(1,2,3,4,5)) --> 15

 

2. 람다 함수

 - 1회용 함수(이름을 지을 필요가 없음)

 

 - lambda 매개변수 : 코드 형태로 작성한다.

 

  lambda num1, num2 : num1+num2

 

  print((lambda num1, num2 : num1+num2)(2,3)) --> 5 출력

 

3. map 함수

 

  - map(함수, 순서가 존재하는 자료형)

 

  - 입력한 자료형을 순서대로 입력 받은 함수 처리하고 결과를 map 형태로 반환한다.  

 

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

      print(list(map(lambda num: num + 1, nums))) --> 2,3,4,5,6

 

4. filter 함수

 

  - filter(함수, 순서가 존재하는 자료형)

 

  - 입력한 자료형을 순서대로 함수에 넣어 조건을 만족하는지 확인한 후, 조건을 만족하는 값만 반환한다.

 

      print(list(filter(lambda num:num<=3,[1, 2, 3, 4, 5]))) --> 1,2,3

'Python > Language' 카테고리의 다른 글

[Python] 멀티 스레드  (0) 2023.08.17
[python] 정규표현식(Regex)  (0) 2023.08.17
[python] 메모리 할당과 복사  (0) 2023.08.10
[Python] 예외처리  (0) 2023.08.04
[Python] 모듈  (0) 2023.08.03