: 데이터 혹은 사용자가 설정한 조건에 따라 코드의 작동 및 프로그램이 제어 되도록 하는 구문
📌판별문, 조건문, 분기문 : if ~ elif ~ else
📌반복문, 무한 반복문 : for, while
📌예외처리 : break, try ~ except, continue
: 사용자가 설정한 조건에 맞을 경우에만 코드가 실행되는 구조
: 같은 프로그램 내 다양한 경의 수가 있을 경우 사용
: 코드의 흐름을 나누는 분기
if 조건식1 : # 만약 조건식1이 True 라면
실행 코드1 # 실행 코드1 실행
elif 조건식2 : # 만약 조건식1이 False이고 조건식2가 True라면
실행 코드2 #실행 코드2 실행
else : # 만약 조건식1이 False이고 조건식2가 False라면
실행 코드3 # 실행 코드3 실행
🌲조건식에는 True, False를 직접 사용하거나 조건 연산 사용
: 코드의 반복적인 실행을 위한 구문
: 반복 실행해야 하는 범위가 있을 때 사용
: 데이터의 개수 또는 분석하고자 하는 데이터 범위 내에서 반복 작업을 할 때 사용
: 주로 if 문과 함께 사용하여 필요한 결과를 얻음
# 반복 범위로 전달한 자료구조 또는 범위 안에서 순환하며 반복자가 정의
for 반복자 in 반복범위 또는 자료구조 :
반복 실행 코드 # 위의 for문 반복 범위 횟수만큼 반복 실행 코드가 반복되어 실행
🌲반복자 : 구간(범위)를 순환하며 정의되는 변수
🌲반복 범위
: list 등 순서가 존재하는 자료구조 또는 range()로 반복 작업 횟수 설정 가능
🧷range(횟수) - 횟수만큼의 범위를 생성하여 반복 실행
🧷range(시작 범위, 마지막 범위 + 1 : 스텝)
- 시작 범위부터 마지막 범위까지 스텝에 따라 반복 실행
- 3개의 변수가 필수는 아니며 필요에 따라 생략 가능
🍀반복자가 하나 이상도 가능
#enumerate() : 인덱스 생성 함수
# enumerate() 함수 안의 자료 구조의 인덱스와 함께 반복
for index item in enumerate(list명) :
...
# 두 개의 자료구조를 zip() 함수를 활용하여 각각의 요소를 변수 2개에 할당
for item1, item2 in zip(list명1, list명2) :
...
: 반복 작업을 진행하던 중 작업을 종료해야 할 때 사용
반복문 :
if 조건식 :
break
: controlflow를 활용하여 간단하게 리스트 생성 가능한 구문
: 데이터의 특정 부분만을 따로 변수로 사용하고자 할 때 굉장히 많이 사용
# 기본 구문
list명 = [반복자 for 반복자 in range(반복범위)]
# if문 추가된 구문, 조건식이 True면 리스트에 추가
list명 = [반복자 for 반복자 in range(반복범위) if 조건식]
# if ~ else문 추가된 구문(elif 불가)
list명 = [반복자 if 조건식 else 반복자 대신 넣을 값 for 반복자 in range(반복범위)]
list1 = [요소1, 요소2, ... ]
list2 = [요소1, 요소2, ... ]
# 리스트 → dict
dict명 = {반복자1:반복자2 for 반복자1, 반복자2 in zip(list1, list2)}
# 강사님의 팁 : 역으로 하나 더 만들어 놓으면 유용
dict명 = {반복자2:반복자1 for 반복자2, 반복자1 in zip(list1, list2)}
: 코드의 무한 반복적인 실행을 위한 반복문
: 조건식이 참이면 무한 루프 실행
: 주로 if 문과 함께 사용하여 필요한 결과를 얻음
# 조건식이 참일 경우 무조건 실행(무한 루프)
while True 또는 조건식 :
실행코드
# 무한루프가 되지 않으려면 반복구문을 어떻게 종료 해야할지 설정해야 함
# break 활용
while True 또는 조건식 :
실행코드
if 조건식 : # 조건이 참이라면
break # 반복 작업이 종료되어 반복문 탈출
: 자주 사용해야하는 코드를 재사용하기 위한 코드의 묶음
: 데이터 과학에서의 함수는 입력값을 받아 사용자가 원하는 처리를 한 후 결과값을 되돌려 받는 코드의 묶음
🔑함수 설명 보여주는 docstring
🗨️함수에서 Shift + Tab
🗨️함수() 대신 ? 쓰고 실행
# 함수명을 메모리에 저장, 파라미터 없어도 됨
# 파라미터를 실행코드 내부에서 사용하면 유용
def 함수명(파라미터 또는 매개변수) :
실행코드
return 반환값 # 함수에서 실행코드를 거친 결과값을 다시 사용해야 할 경우 값을 반환(필수 아님)
: 함수의 입력값
: 함수의 작동에 영향을 줄 수 있는 값(변수)
🧷함수명()
: 전역변수는 함수 밖에서 정의 된 변수로 함수 내부에서 자유롭게 사용 가능
: 지역변수는 함수 내부에서 정의된 변수로 함수 내부에서만 사용 가능
_❗지역변수의 값을 사용하려면 함수에서 반환되는 값(return 값)을 변수에 저장하여 사용
🔑변수명 = 함수명(파라미터)
: 같은 목적 또는 대상을 위해 만들어진 함수들의 묶음
class 클래스명 # 클래스명의 첫 알파벳은 대문자:
# 클래스 내부에 속한 함수임을 표현하기 위해 self 키워드를 파라미터에 추가
def __init(self, x) :
# 클래스를 만들면서 입력받는 파라미터를 클래스 내에서 사용가능하도록 초기화
self.x = x
# self.파라미터는 파라미터를 전달받아 클래스 내부에서 사용가능한 형태로 초기화 한 변수
# 변수 x는 클래스가 만들어지며 전달받는 파라미터
def 함수명(self, 파라미터) :
실행코드
return 반환값
: 클래스가 정의되면서 입력되느 파라미터를 저장하고 재사용하기 위한 초기화 함수
: 클래스 내 함수의 파라미터 맨 앞은 항상 self 추가
: __ init __ 함수에서 설정한 변수 할당시에 self 추가
: self.변수는 클래스 내부에서 사용되며 클래스 내부에 있는 모든 함수에 사용 가능
🧷 패키지(모듈) 불러오기
import 패캐지(모듈)명
: 파이썬 내장 패키지(모듈)
: 랜덤한 값을 생성하거나 뽑아오는데 사용
: 0 ~ 1 사이의 실수를 하나 반환
: a, b 사이의 정수를 하나 반환
: 리스트의 무작위 샘플 하나 반환
: 리스트의 무작위 샘플 n개를 반환(고유값 - 중복 제거)
: 리스트 순서 섞기