교육 정보
- 교육 명: 경기미래기술학교 AI 교육
- 교육 기간: 2023.05.08 ~ 2023.10.31
- 오늘의 커리큘럼: 빅데이터 기초 활용 역량 강화 (5/10~6/9) - 파이썬 프로그래밍
- 강사: 조미정 강사님 (빅데이터, 머신러닝, 인공지능)
- 강의 계획:
1. 파이썬 언어 기초 프로그래밍
2. 크롤링 - 데이터 분석을 위한 데이터 수집(파이썬으로 진행)
3. 탐색적 데이터 분석, 분석 실습
- 분석은 파이썬만으로는 할 수 없으므로 분석 라이브러리/시각화 라이브러리를 통해 분석
4. 통계기반 데이터 분석
5. 미니프로젝트
- 조건에 따라 다른 동작을 수행
ex. 범위 외 값을 입력시 에러를 출력하는 경우 등에 사용
- 조건문은 if문을 기본으로 필요시 elif 혹은 else를 같이 사용한다.
- 기본 형태
if 조건식: 조건식 충족시 실행할 코드 #조건식은 Boolean값을 리턴해야 함 #수행되는 코드는 반드시 들여쓰기 규칙을 지켜 작성
- if만 사용하는 경우
- if 조건문이 True인 경우 해당 코드를 실행하고 조건문을 마친다.if a > b: print("a is gereater than b")
- if와 elif를 사용하는 경우
- 각 조건문을 순서대로 검증하여 True인 경우 해당 코드를 실행하고 조건문을 마친다.if a < b: print("a < b") elif a == b: print("a = b") elif a > b: print("a > b")
- if와 else를 사용하는 경우
- if 조건문이 True인 경우 해당 코드를 실행하고 조건문을 마치지만 False인 경우 else 코드를 실행한다.
- else는 조건문을 가지지 않는다.if a < b: print("a is less than b") else: print("a is not less than b")
- if와 elif와 else를 사용하는 경우
- 각 조건문을 순서대로 검증하여 True인 경우 해당 코드를 실행하고 조건문을 마치며, 모든 조건문이 False인 경우 else 코드를 실행한다.if a < b: print("a < b") elif a==b: print("a=b") else: print("a > b")
- 조건문이 True 일때 코드가 공란이면 에러 발생
- 코드를 추후 삽입하고자 할때 임시로 pass를 사용할 수 있음
■ elif절에서 에러 발생if a > b: print("a is greater than b") elif a < b: # TODO: a가 b보다 클 때 처리 필요 ❗️에러 발생 포인트 else: print("a is not greater than b and not less than b")
■ elif절에 pass를 넣어서 elif절 진입시 조건문을 빠져나가 다음 코드가 실행됨
if a > b: print("a is greater than b") elif a < b: pass # TODO: a가 b보다 클 때 처리 필요 else: print("a is not greater than b and not less than b")
- 조건문을 한 줄로 작성하는 방법
- 중간의 조건절이 True이면 조건문의 앞쪽 코드를 실행하고 False이면 조건문의 뒤쪽 코드를 실행함
print("a = b") if a == b else print("a != b")
- 가독성이 떨어져 권장하지 않음
- 정해진 동작을 반복적으로 수행
- 반복 범위를 지정하여 수행
- 기본 형태
for 변수 in 시퀀스: 코드
- 상수 혹은 변수
#상수 for _ in range(3): 코드 #변수 a = 27 for _ in a: 코드
- range() 함수
- 시작부터 끝 전까지 증가폭만큼 증가시켜서 숫자를 만들어 내는 함수
- 시작 포함, 끝 제외
- 시작과 증가폭은 생략 가능 (default 시작=0, step=1)
- 음수 증가폭 가능
range(시작, 끝, 증가폭)
- for문에서 range 함수가 값을 리턴하면 for 문이 작동하며, 이때 리턴된 값이 value가 된다.
for value in range(3): print(number) for value in range(1, 7, 2): print(number)
- 시퀀스
- list 등의 시퀀스
for value in 시퀀스: 코드
- 시퀀스의 요소 수 만큼 반복
- 시퀀스의 요소값이 value가 됨
veges = ["carrot", "tomato", "pumpkin"] for vege in veges: print (f"I like {vege}.")
■ 참고: random 함수
- 난수를 발생시키는 함수
- import random 후에 사용 가능
- random.random() : 0.0 ~ 1.0 사이의 실수 중에서 난수 발생
- random.randint(n,m) : n ~ m 사이의 정수 중에서 난수 발생
import random for i in range(5): print(random.random()) for i in range(5): print(random.randint(1,20),end=' ')
- 조건식이 만족하는 동안 반복 수행 (반복 횟수를 명확히 알 수 없을 때)
#1부터 시작하는 정수 변수 number의 값을 1씩 증가하면서 number*3의 값이 20을 초과하면 종료되는 반복문 number = 1 while number * 3 <20 : number +=1
- break문을 만나면 반복문을 종료
for i in range(5): if i == 2: break print(i)
i= 0 while i < 6: if i ==2: break print(i) i+=1
- 해당 반복 차례를 종료하고 다음 반복 차례를 수행
- 해당 반복 차례에서 continue 뒤에 남은 코드를 건너뜀
while i<6: i+=1 if i< 3 or i > 5: continue print(i)
- 두가지 이상의 수준에서 반복을 해야 하는 경우 반복문 안에 반복문이 들어감
alist = [[1,2,3],[4,5,6],[7,8,9], [10,11,12]] for i in alist: # print (i) for j in i: print(j, end = " ") # #결과창 1 2 3 4 5 6 7 8 9 10 11 12
- 외부 요소를 while문의 조건으로 설정 할 수 있다.