(수업내용 : 내장 함수
⑪ max(), min() 함수
; max() 함수는 리스트나 튜플, 문자열에서 가장 큰 항목을 반환한다. 예를 들어서 정수의 리스트에서 가장 큰
정수를 찾을 때 사용할 수 있다. min()은 가장 작은 정수를 반환한다.
values = [ 1, 2, 3, 4, 5]
print(max(values))
출력결과
5
print(min(values))
출력결과
1
enumerate() 함수
; 시퀀스 객체를 입력 받아, 열거형(enumerate) 객체를 반환한다. 열거형 객체는 첫 번째 요소로 번호, 두 번째
요소로 번호에 해당되는 값을 갖는 객체이다.
Enum은 열거형(Enumerated Type)이라고 부릅니다. 해당 언어
의 상수 역할을 하는 식별자로, 일부 열거자 자료형은 언어에 기본으로 포함되어 있다. 그 대표적인 예가 Boolean 자료형으
로 False, True 값이 미리 정의된 열거형으로 볼 수 있다. False == 0, True == 1인 것이다. 열거형을 사용하는 이유는 특정
상태를 하나의 집합으로 만들어 관리함으로써 코드를 정리하
는데 수월하다. 즉, 가독성이 높아지고 문서화를 하는데 도움이
된다.
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
print(list(enumerate(seasons)))
출력결과
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
pirnt(list(enumerate(seasons, start=1)))
출력결과
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
람다식이란?
- 람다식 또는 람다 함수는 무명 함수, 즉 이름이 없는 함수를 만드는 방법이다. 람다식는 이름은 없고 몸체만 있는
함수이다. 람다식은 함수이지만 def 키워드로 작성되지 않는다.
파이썬에서 람다식은 lambda 키워드로 만들어진
다. 람다식은 딱 한 번 사용되는 함수를 만드는 사용된다.
- 람다식은 여러 개의 매개 변수를 가질 수 있으나 반환값은 하나만 있어야 한다. 또 자신만의 이름공간을 가지고
있다.) 무명 함수를 이용하여 2개의 정수를 합하는 함수를 작성해보면 다음과 같다f = lambda x, y: x+y;
print( "정수의 합: ", f(10, 20))
print( "정수의 합: ", f(20, 20))
출력결과
정수의 합: 30
정수의 합: 40
람다식이란?
- 만약 앞의 코드를 일반적인 함수를 이용하여 작성하였으면 다음과 같이 되었을 것이다.
- 여러분들이 확인할 수 있듯이, get_sum()과 람다 함수는 동일한 작업을 하며 동일한 방식으로 사용할 수 있다. 람
다 함수에서는 return 키워드를 사용할 필요가 없다. 람다 함수에서는 항상 반환되는 수식만 써주면 된다. 함수를
필요로 하는 곳에 람다 함수를 놓을 수 있으며 람다 함수를 반드시 변수에 할당할 필요도 없다.
2) 람다식의 역사와 용도
- 람다식은 Alonzo Church가 발명한 계산 모델인 람다 수학(lambda calculus)에 뿌리를 두고 있다. 람다 수학에서
유래한
프로그래밍 언어를 함수형 언어라고 한다. 람다 수학도 완전한 튜링 기계의 일종이지만 람다 수학은 상태
를 유지하지 않는다.
파이썬은 본질적으로 함수형 언어는 아니지만 초기에 일부 함수형 언어 개념을 채택했다.
람다식은 주로 filter(), map(), reduce() 함수와 함께 사용된다. 람다식은 Lisp 프로그래머의 요구로 인해
파이썬에
추가되었다. 1994년에 map(), filter(), reduce(), lambda 키워드가 언어에 추가되었다.
수학 또는 이론 전산학에서, 튜링 기계(영어: Turing machine)는 긴 테이프에 쓰여 있는 여러 가지 기호들을 일정한 규칙에 따라 바꾸는 기계이다. 상당히 간단해 보이지만 이 기계는 적당한 규칙과 기호를 입력한다면 일반적인 컴퓨터의 알고리즘을 수행할 수 있으며 컴퓨터 CPU의 기능을 설명하는데 상당히 유용하다. 강사님 오늘도 정말 수고 많으셨습니다. 항상 친절하고 자세하게 하는 강의는 저에게는 감사함 자체입니다. 다음 강의도 좋은 강의 부탁드립니다. 저도 강사님의 강의를 열심히 들어서 강사님의 강의에 보답하겠습니다 .감사합니다. 그리고 수고 많으셨습니다.^^