🚩 흐름제어문(controflow)

: 데이터 혹은 사용자가 설정한 조건에 따라 코드의 작동 및 프로그램이 제어 되도록 하는 구문
📌판별문, 조건문, 분기문 : if ~ elif ~ else
📌반복문, 무한 반복문 : for, while
📌예외처리 : break, try ~ except, continue

🌈 if ~ elif ~ else

: 사용자가 설정한 조건에 맞을 경우에만 코드가 실행되는 구조
: 같은 프로그램 내 다양한 경의 수가 있을 경우 사용
: 코드의 흐름을 나누는 분기

if 조건식1 :    # 만약 조건식1이 True 라면
	실행 코드1  # 실행 코드1 실행
elif 조건식2 :  # 만약 조건식1이 False이고 조건식2가 True라면
	실행 코드2  #실행 코드2 실행
else : 		   # 만약 조건식1이 False이고 조건식2가 False라면
	실행 코드3  # 실행 코드3 실행

🌲조건식에는 True, False를 직접 사용하거나 조건 연산 사용

🌈 for

: 코드의 반복적인 실행을 위한 구문
: 반복 실행해야 하는 범위가 있을 때 사용
: 데이터의 개수 또는 분석하고자 하는 데이터 범위 내에서 반복 작업을 할 때 사용
: 주로 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) :
	...

🌈 break

: 반복 작업을 진행하던 중 작업을 종료해야 할 때 사용

반복문 :
	if 조건식 :
    	break

🌈 comprehension

: controlflow를 활용하여 간단하게 리스트 생성 가능한 구문
: 데이터의 특정 부분만을 따로 변수로 사용하고자 할 때 굉장히 많이 사용

🔸list comprehension

# 기본 구문
list명 = [반복자 for 반복자 in range(반복범위)]

# if문 추가된 구문, 조건식이 True면 리스트에 추가
list명 = [반복자 for 반복자 in range(반복범위) if 조건식]

# if ~ else문 추가된 구문(elif 불가)
list명 = [반복자  if 조건식 else 반복자 대신 넣을 값 for 반복자 in range(반복범위)]

🔸dict comprehension

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)}

🌈 while

: 코드의 무한 반복적인 실행을 위한 반복문
: 조건식이 참이면 무한 루프 실행
: 주로 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 반환값

🔹 __init __ 함수

: 클래스가 정의되면서 입력되느 파라미터를 저장하고 재사용하기 위한 초기화 함수

🔹self

: 클래스 내 함수의 파라미터 맨 앞은 항상 self 추가
: __ init __ 함수에서 설정한 변수 할당시에 self 추가
: self.변수는 클래스 내부에서 사용되며 클래스 내부에 있는 모든 함수에 사용 가능

🚩 패키지(packages), 모듈(modules)

🧷 패키지(모듈) 불러오기

import 패캐지(모듈)명

🌈 random 패키지

: 파이썬 내장 패키지(모듈)
: 랜덤한 값을 생성하거나 뽑아오는데 사용

🔸random 모듈의 함수

🌲 random.random()

: 0 ~ 1 사이의 실수를 하나 반환

🌲 random.random(a, b)

: a, b 사이의 정수를 하나 반환

🌲 random.choice(리스트 또는 데이터 집합)

: 리스트의 무작위 샘플 하나 반환

🌲 random.sample(리스트 또는 데이터 집합, n - 샘플링 할 데이터의 개수)

: 리스트의 무작위 샘플 n개를 반환(고유값 - 중복 제거)

🌲 random.suffle(리스트 또는 데이터 집합)

: 리스트 순서 섞기

profile
To be Data Analysist

0개의 댓글