전처리 ↔ 데이터 표준화
1. 정수, 실수, 불리언, 시퀀스(나열형 = 문자열, 리스트, 튜플, 딕트) + set
2. 형 변환 1번에 제공하는 각각의 클래스를 통해 값을 전달
ex) int(90.7) = 90
3. 시퀀스(나열형 = 문자열, 리스트, 튜플, 딕트) + set , 시퀀스 연산자 *(반복), +(연결)
CRUD 형식의 메소드
4. 제어문 = 조건문(선택문), 반복문, 제어 흐름 문
5. 함수, 함수 모듈 (라이브러리=import sys, 사용자 함수, 내장 함수), cmd ->python -> v
파이썬은 모듈 단위이다.
자료형 → 함수 → 클래스 → 모듈(. py) → 패키지
.py →. pyc → pvm → output
람다 함수 (lambda)?
람다 대 수학 (lambda calculus)에서 유래된 이름으로 익명 함수라고 한다.
함수의 이름이 없는 함수로 파이썬에서 lambda라는 키워드로 익명 함수를 정의한다.
간단한 기능의 함수가 컨테이너의 요소로 들어가는 경우, 혹은 다른 함수의 인자로 함수를 넘겨줄 때 사용되며
한 줄로 표시되는 함수로 정의된다.
filter( ), map( ), reduce( ) 등의 함수를 사용할 때 유용하다.
[형식]
lambda 인자 1, 인자 2 , , , : 명령(표현식)
ex) 두 수의 합을 구하는 함수를 선언하자.
def add(x , y) :
res = x+y
return(res)
n= add(5,3)
print(n)
ex) 두 수의 합을 구하는 함수를 lambda로 바꾸어보자.
add = lambda x, y : x+y #선언
add(5, 3) # 호출
파이썬의 고차 함수 (high - order fungtion)
filter(), map(), reduce() 등의 함수를 사용할 때 유용하다.
고차 함수 : 전달 인자로 다른 함수를 받는 함수를 말하며 함수를 매개 인자로 넘길 수 있고,
다른 함수의 결괏값으로 반환 가능하게 해주는 함수를 말함
def getAvg(int hap):
return hap/4
def getHap( ) :
return 100 + 100 + 100 + 100
hap = getHap()
avg = getAvg(hap) -> avg = getAvg(getHap())
filter(function, list) :
함수와 순서형 즉 리스트를 매개 인자로 받아서 리스트의 값이 하나씩 함수에 인수로 전달되어 조건에 맞는 결과인 True 가 되는 반환 값만을 따로 모아서 리스트의 형태로 반환한다.
map(function, seq) :
함수와 시퀀스 자료형을 입력받아서 시퀀스 자료형의 각각의 요소가 하나씩 함수에 인수로 전달되어 리턴되는 출력값 을 묶어서 리스트로 리턴하는 함수
reduce(function, seq) :
함수와 시퀀스 자료형을 입력 받아서 시퀀스 자료형의 두 개의 요소가 함수에 인수로 전달되어 연산을 한 후 그 결괏값을 그다음 항목과 계속 연산하여 하나의 값을 리턴한다.
재귀 함수(recursive)
함수가 직접 또는 간접적으로 자기 자신을 다시 호출하는 것
재귀 호출 (recursive call)
메모리를 많이 소모하게 되며 처리 속도 또한 상대적으로 느리지만 작성하는 코드가 간결해지고 이해도가 쉽다.
quick sort, tower of hanoi, Fractal curve 등의 알고리즘을 구현할 때 사용된다.
스코핑 룰(scoping) :
파이썬에서 사용되는 함수, 클래스 등이 선언되면 변수를 사용하게 되는데 선언된 변수를 저장할 때 네임스페이스 저장하고 호출될 때 네임스페이스의 영역의 우선순위에 따라 호출되는 룰을 말한다.
파이썬의 네임스페이스는 세 가지로 분류된다. 변수가 호출되는 우선순위를 약어로 LGB규칙
파이썬의 네임 스페이스 = LGB(Local -> Global -> Built-in) 순서를 가진다.
1) Local : 함수 내부에 선언될 때의 영역
2) Global : 함수 외부에 선언될 때의 영역
3) Built-in : 내장 함수의 영역
'|Playdata_study > Python' 카테고리의 다른 글
210427_클래스 2 (0) | 2021.04.27 |
---|---|
210426_클래스1 (0) | 2021.04.26 |
210423_함수1 (0) | 2021.04.24 |
210423_제어문2 (흐름 제어문) (0) | 2021.04.24 |
210422_PVM (0) | 2021.04.22 |
댓글