1. 기업맞춤형 빅데이터 분석가 양성과정 소개
[기업맞춤형 빅데이터 분석가 양성과정] 선수과정이란 무엇인가?
안녕하세요! 저는 12월 28일부터 한국품질재단의 기업맞춤형 빅데이터 분석 양성과정을 시작합니다! [취업과 창업]고용노동부와 한국품질재단 & 안동대학교가 함께하는 2024년 K-Digital Training(1,000
crosefrog.tistory.com
[취업과 창업]고용노동부와 한국품질재단 & 안동대학교가 함께하는 2024년 K-Digital Training(1,000만원
안녕하세요. 저는 졸업을 1년 남기고 이력서, 자소서, 포트폴리오 및 미니프로젝트와 최종프로젝트를 수행하는 한국품질재단의 빅데이터 분석가 양성과정에 참가하게 되었습니다. 오늘날 세상
crosefrog.tistory.com
2. 기업맞춤형 빅데이터 분석가 양성과정 노트목록
2023.12.28 빅데이터 분석가 양성과정 1일차 노트
오늘은 기업맞춤형 빅데이터 분석가 오리엔테이션이 있었습니다. 1. 기업맞춤형 빅데이터 분석가 양성과정 소개 https://bit.ly/41x8FOX [기업맞춤형 빅데이터 분석가 양성과정] 선수과정이란 무엇인
crosefrog.tistory.com
2024.01.02 빅데이터 분석가 양성과정 2일차 노트
1. 기업맞춤형 빅데이터 분석가 양성과정 소개 https://bit.ly/41x8FOX [기업맞춤형 빅데이터 분석가 양성과정] 선수과정이란 무엇인가? 안녕하세요! 저는 12월 28일부터 한국품질재단의 기업맞춤형 빅
crosefrog.tistory.com
2024.01.03 빅데이터 분석가 양성과정 3일차 노트
1. 기업맞춤형 빅데이터 분석가 양성과정 소개 https://bit.ly/41x8FOX [기업맞춤형 빅데이터 분석가 양성과정] 선수과정이란 무엇인가? 안녕하세요! 저는 12월 28일부터 한국품질재단의 기업맞춤형 빅
crosefrog.tistory.com
https://crosefrog.tistory.com/entry/20210104-%EB%B9%85%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D%EA%B0%80-%EC%96%91%EC%84%B1%EA%B3%BC%EC%A0%95-4%EC%9D%BC%EC%B0%A8-%EB%85%B8%ED%8A%B8
2024.01.04 빅데이터 분석가 양성과정 4일차 노트
1. 기업맞춤형 빅데이터 분석가 양성과정 소개 https://bit.ly/41x8FOX [기업맞춤형 빅데이터 분석가 양성과정] 선수과정이란 무엇인가? 안녕하세요! 저는 12월 28일부터 한국품질재단의 기업맞춤형 빅
crosefrog.tistory.com
https://crosefrog.tistory.com/entry/20240105-%EB%B9%85%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D%EA%B0%80-%EC%96%91%EC%84%B1%EA%B3%BC%EC%A0%95-5%EC%9D%BC%EC%B0%A8-%EB%85%B8%ED%8A%B8
2024.01.05 빅데이터 분석가 양성과정 5일차 노트
1. 기업맞춤형 빅데이터 분석가 양성과정 소개 https://bit.ly/41x8FOX [기업맞춤형 빅데이터 분석가 양성과정] 선수과정이란 무엇인가? 안녕하세요! 저는 12월 28일부터 한국품질재단의 기업맞춤형 빅
crosefrog.tistory.com
2024.01.08 빅데이터 분석가 양성과정 6일차 노트
1. 기업맞춤형 빅데이터 분석가 양성과정 소개 https://bit.ly/41x8FOX [기업맞춤형 빅데이터 분석가 양성과정] 선수과정이란 무엇인가? 안녕하세요! 저는 12월 28일부터 한국품질재단의 기업맞춤형 빅
crosefrog.tistory.com
https://crosefrog.tistory.com/entry/20240109-%EB%B9%85%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D%EA%B0%80-%EC%96%91%EC%84%B1%EA%B3%BC%EC%A0%95-7%EC%9D%BC%EC%B0%A8-%EB%85%B8%ED%8A%B8
2024.01.09 빅데이터 분석가 양성과정 7일차 노트
1. 기업맞춤형 빅데이터 분석가 양성과정 소개 https://bit.ly/41x8FOX [기업맞춤형 빅데이터 분석가 양성과정] 선수과정이란 무엇인가? 안녕하세요! 저는 12월 28일부터 한국품질재단의 기업맞춤형 빅
crosefrog.tistory.com
3. Chepter 06 예외_처리 & 연습문제_배포용.ipynb
4. Notion 빅데이터 분석가 양성과정 대시보드
https://shaded-chair-f39.notion.site/d1191ac35d7c4f09b2fd0bdc9a91debc?pvs=4
빅데이터 분석가 양성과정 대시보드 | Built with Notion
템플릿의 아이콘들은 https://notionicons.website 사이트를 참조했습니다
shaded-chair-f39.notion.site
5. Naver 블로그 포스팅
https://blog.naver.com/PostView.naver?blogId=moment_by_moment&logNo=223318532441&redirect=Dlog
뜨듯미지근하다면, 불처럼 타올라보자. (인생을 구체적으로 살아보자.)
이것도 하고 싶고, 저것도 하고 싶다면? 커피, 담배, 안경이 조선에 처음 들어왔을 때는 굉장히 고가의 제...
blog.naver.com
https://blog.naver.com/PostView.naver?blogId=moment_by_moment&logNo=223318563884&redirect=Dlog
사람 사는 것은 대부분 비슷하다.
인생을 살다가 만나는 사람들 오늘 아침에 일찍 일어나서 침상을 정리하고 샤워를 하고 아침식사를 하고 공...
blog.naver.com
6. Google Colaboratory Notebook
https://colab.research.google.com/drive/155Ayelf2RTW79KvN6Mu6ZKTo5TifnhP5#scrollTo=Y6_xZFH3yKXH
Google Colaboratory Notebook
Run, share, and edit Python notebooks
colab.research.google.com
https://colab.research.google.com/drive/1MkqmigEayZtjhLbRjzT29gSyuOUVR3sI#scrollTo=b_bgvXHK8_9A
Google Colaboratory Notebook
Run, share, and edit Python notebooks
colab.research.google.com
7. 필기노트
담배가 조선말기에 들어왔을 때, 굉장히 비쌌을 것이다.
안경, 커피 등 처음엔 굉장히 비쌌다.
어른앞에서 안경을 쓰거나, 같이 담배를 피우거나, 모자를 쓰고 있으면 예의없는 것으로 여겼었다.
- 분위기가 많이 변했다.
민소매가 예전에는 민망한 패션이었지만 지금은 아무렇지도 않다.
4장 반복문
: 리스트, 딕셔너리, for문, while문
Ch06 예외 처리
- 구문 오류(syntax error): 파이썬 코드 자체의 문법 에러
→ 프로그램 실행 전에 발생하는 오류
예외 상황, 사건이 발생하게 되었다.
#이런 error말고 답이 틀리는 경우: 로직 에러
→ 이런 에러를 찾는 것은 어렵다.
치명적인 에러는 잘 처리해야 한다.
- 치명적 예외(exception) 사건
- NameError: 이름 에러
- IndexError: 인덱스의 범위
- 에러가 생기면 종료되도록 구성되어 있다.
#예외 사건을 어떻게 잘 처리할 것인가?
첫차는 굉장히 신중하게 관리한다. 정수관리
- 가급적이면 명확하게 얘기하도록 하자.
예외 처리의 본질: 혹시나 해서 발생할 거 같은 상황을 미리 방지하는 것.
예외 처리 방법
- 조건문(If문)을 사용하는 방법
사전에 어떤 상황인지 고민해보자.
- 눈이 오는 날은, 차가 많이 미끄러질 수 있는 상황이다.
⇒ 눈이 오기 전에 미리 상황 파악을 하고 가자. (미연 방지)
- try ~ except ~를 사용하는 방법
try:
# 예외가 발생할 가능성이 있는 코드
except:
# 예외가 발생했을 때 실행할 코드
try:
number = int(input("정수 입력: "))
print('원의 반지름 :', number )
print('원의 둘레 :', 2*3.14*number )
print('원의 면적 :', 3.14*number*number)
except:
print('위 과정에서 예외가 발생했습니다.')
예외 발생
positive_int = int(input('양의 정수를 입력 하세요 : ') )
d = 10 // positive_int
s = 10 % positive_int
print(f'입력하신 수, (positive_int)로 10을 나누었을 때 몫은 {d}이고 나머지는 {s}입니다.')
어학연수 갈 생각이 원래 없었다.
(인생은 원래 예상치 못한 사건이 발생한다.)
큰 수를 저장할수록 비트 수가 늘어난다.
‘무한대’ 라는 숫자를 보관하려면 무한비트가 필요하므로 저장할 수가 없다.
ValueError
TypeError
SyntaxError
ZeroDivisionError
positive_int = int(input('양의 정수를 입력 하세요 : ') )
try:
d = 10 // positive_int
s = 10 % positive_int
print(f'입력하신 수, (positive_int)로 10을 나누었을 때 몫은 {d}이고 나머지는 {s}입니다.')
except:
print('예외 발생!')
while True:
try:
number = int(input('정수 입력: '))
except:
print('정수를 입력하지 않으셨습니다.')
else:
print('원의 반지름
예외 처리 try ~ except ~ else ~ 사용방법
try:
# 예외가 발생할 가능성이 있는 코드
except:
# 예외가 발생했을 때 실행할 코드
else:
# 예외가 발생하지 않았을 때 실행할 코드
try:
number = int(input("정수 입력: "))
except:
print('정수를 입력하지 않았습니다.')
else:
print('원의 반지름 :',number )
print('원의 둘레 :', 2*3.14*number )
print('원의 면적 :', 3.14* number* number)
while True:
try:
number = int(input('정수 입력: '))
except:
print('정수를 입력하지 않으셨습니다.')
else:
print('원의 반지름 :', number)
print('원의 둘레 : ', 2*3.14*number)
print('원의 면적 : ', 3.14 * number*number)
break
대학 생활 동안, 하나에 미쳐서 열심히 해보길 바라는 마음이다.
연애든, 뭐든 하나에 미쳐서 파고 들어보자.
⇒ 열정적으로 살자.
하기 싫은 것은 없다. 그렇다고 하고 싶은 것도 없다.
목표가 없었다. (인생에 기복은 늘 있는 법이다.)
지금 내가 뜨뜻미지근하다면,
한번쯤은 어떤 분야에 타오르는 삶을 살아보자.
(쫄지말고 해보자.)
예외 처리 try ~ except ~ else ~ finally 사용 방법
try:
# 예외가 발생할 가능성이 있는 코드
except:
# 예외가 발생했을 때 실행되어야 하는 코드
else:
# 예외가 발생하지 않았을 때 실행되어야 하는 코드
finally:
# 예외 발생 여부와 관계 없이 무조건 실행되어하는 코드
try:
number = int(input("정수 입력: "))
except:
print('정수를 입력하지 않았습니다.')
else:
print('원의 반지름 :',number )
print('원의 둘레 :', 2*3.14*number )
print('원의 면적 :', 3.14* number* number)
finally:
print('좋은 하루 보내세요.')
- finally는 무조건 실행된다.
정리: try는 혼자 쓰이지 않는다.
try + except
try + except + else
try + except + finally
try + except + else + finally
try + finally
- finally에 대한 오해
try:
file = open('info.txt', 'w')
# 여러 가지 업무 처리
file.close() # 해당 파일을 닫습니다.
except:
print('파일 처리에서 오류 발생')
print('파일이 제대로 닫혔는지 확인하기')
print('file.closed :', file.closed)
- 인위적으로 예외를 발생시키는 경우
try:
file = open('info.txt', 'w')
# 예외 발생 상황을 만들기 위해,
# 일부러 'ValueError'를 발생시키겠습니다.
raise ValueError
file.close()
except:
print('파일 처리에서 오류 발생')
print('파일이 제대로 닫혔는지 확인')
print('file.closed :', file.closed)
try:
file = open('info.txt', 'w')
# 파일을 사용하는 작업을 진행 중에
# 예외 상황 발생
# 예외 발생 상황을 만들기 위해,
# 일부러 'ValueError'를 발생시키겠습니다.
raise ValueError
except:
print('파일 처리에서 오류 발생')
finally:
file.close() # 해당 파일을 닫습니다.
print('파일이 제대로 닫혔는지 확인하기')
print('file.closed :', file.closed)
- file close()를 꼭 finally안에 둬야 하는 건 아니다.
→ finally는 필요에 따라 요령껏 사용하면 된다.
finally구문에 대해 조금 더
- try 구문 내부에서 return 키워드를 사용하는 경우
→ try 구문 중간에서 return되어도 finally 구문을 무조건 실행됨
(함수가 try 구문에서 return을 원하는 상황에서 제어권을 호출한 쪽에 넘긴다고 해도 finally 구문은 실행이 됨. (finally 구문에서 파일을 닫을 수 있음)
- 반복문과 함께 finally를 사용하는 경우
→ 반복문에서 break로 빠져 나가는 경우에도 finally 구문을 실행한 후 반복 문을 탈출하게 됨.
print('프로그램이 시작되었습니다.')
while True:
try:
print('try 구문이 실행되었습니다.')
break
print('try 구문의 break 키워드 뒤입니다.')
except:
print('except 구문이 싱행되었습니다.')
finally:
print('finally 구문이 실행되었습니다.')
print('프로그램이 종료되었습니다.')
=>
프로그램이 시작되었습니다.
try 구문이 실행되었습니다.
finally 구문이 실행되었습니다.
프로그램이 종료되었습니다.
목표를 달성하기 위한 방법들을 구체적으로 생각해보자.
꿈꾸고 계획을 할 때, 시간을 정해보자.
예를 들어, 차를 바꾸고 싶다고 해보자.
→ 돈이 생겨야 한다. (저절로 생기지 않는다.)
구체적으로, 언제까지 이뤄낼 것인지 자주 생각해보자.
- 본격적으로 이야기를 시작하기 전에
→ 현실에서 어떤 사건(예외 사건, 예외 상황 등)이 발생하면 ‘누가, 언제, 어디서, …’라는 정보가 존재
→ 프로그래밍에서도 예외(사건)가 발생하면 관련된 정보가 생성되어 예외 객체(exception object)에 저장됨.
- 예외 객체(exception object)는 다음과 같은 형태로 사용함.
try:
예외가 발생할 가능성이 있는 구문
except 예외의 종류 as 예외 객체를 활용할 변수 이름:
예외가 발생했을 때 실행할 구문
예외의 종류가 참 많다. (다양하다.)
예외를 다루는 아저씨들의 주인이 exception이다.
try:
예외가 발생할 가능성이 있는 구문
except 예외의 종류 as 예외 객체를 활용할 변수 이름:
예외가 발생했을 때 실행할 구문
try:
number = int(input('정수 입력 >'))
print('원의 반지름 :', number)
print('원의 둘레 :', 2*3.14*number)
print('원의 면적 :', 3.14*number*number)
except Exception as exception:
# 예외 객체를 출력해 봅니다.
print('type(exception) :', type(exception))
print('exception :', exception)
=>
정수 입력 > 7세
type(exception) : <class 'ValueError>
exception : invalid literal for int() with base 10: '7세'
- 여러 가지 예외가 발생할 수 있는 상황: ValueError
int(’일) → ValueError를 발생시켰습니다.
lst = [1,2,3,4,5]
try:
idx = int(input('양의 정수 입력(범위는 0부터 {})>'.format(len(lst)-1)))
print('{}번째 요소 : {}'.format(idx, lst[idx]))
except Exception as error:
print('type(error) :', type(error))
print('error :', error)
=>
양의 정수 입력(뻠위는 0부터 4)>5
type(exception) : <class 'IndexError'>
error : invaid literal for int() with base 10: '일'
- 여러 가지 예외가 발생할 수 있는 상황: IndexError
lst = [1,2,3,4,5]
try:
idx = int( input('양의 정수 입력(범위는 0부터 {})>'.format(len(lst)-1)))
print('{}번째 요소 : {}'.format(idx, lst[idx]))
except Exception as exception:
print('type(Exception) :', type(exception))
print('exception :', exception)
=>
양의 정수 입력(범위는 0부터 4)> 5
type(Exception) : <class 'IndexError'>
exception : list index out of range
- 예외를 구분하여 처리할 수 있음
try:
예외가 발생할 수 있는 구문
except 예외의 종류A:
예외A가 발생했을 때 실행할 구문
except 예외의 종류B:
예외B가 발생했을 때 실행할 구문
except 예외의 종류C:
예외C가 발생했을 때 실해할 구문
깨끗하게 청소된 환경과 지저분한 환경은 큰 차이가 있다.
(책상 위를 깨끗하게 정리해야 한다.)
공간이 사람에게 주는 영향이 상당하다.
→ 삶의 태도가 변한다.
아래 코드의 경우 TypeError에 대한 예외 처리를 만들어 두지 않았기 때문에
프로그램(코드)이 ‘죽었다!’
a = 2
a + '입니다'
⇒ ⇒ TypeError에 대한 예외 처리를 만들어 두지 않았기 때문에 프로그램(코드)이 ‘죽었다!’
lst = [1, 2, 3, 4, 5]
try:
idx = int( input('양의 정수 입력(범위는 0부터 {})> '.format(len(lst)-1)))
print('{}번째 요소 : {}'.format(idx, lst[idx]))
except ValueError as exception:
print('정수를 입력해 주세요.')
print('exception :', exception)
except IndexError as exception:
print('리스트의 인덱스 범위를 벗어났습니다.')
print('exception :', exception)
- raise 구문
→ 프로그램이 실행 도중 강제 종료되는 것을 막기 위해 예외는 꼭 처리되어야 함
→ 하지만 프로그램을 개발하는 동안에는 정말 의도적으로 예외 상황을 만들기도 함
→ ‘아직 구현하지 않은 부분이 있는데 까먹을 수 있으니 확실하게 문제(에러)가 생기게 만들자’
⇒ 그래서 나중에 “이 부분을 코딩해야 한다는 것을 기억하게” 또는 “이 상태로 프로그램이 더 진행되면 프로그램이 이 시점에 종료하는 것보다 더 큰 문제를 일으킬 수 있으니 여기서 강제 종료 시키자’ 등의 이유에서 의도적으로 예외를 발생시키게 된다.
6장 연습문제: 앞에서 한 내용들을 포함해서 출제된다.
사물이라는 표현이 사전적 의미랑 다를지 모르지만, 세상만물이 객체라 보면 된다.
유형이든, 무형이든 떠올릴 수 있는 것들은 객체이다.
사물을 특징짓는 것들이 있고, 기능 관련된 것들이 있다.
사물을 바라볼 때, 어떤 사물의 속성을 두 가지 측면에서 바라보고자 한다.
- 속성(attribute) = 변수
- 매서드(method) = 함수
이 2가지를 가지고 정의를 한다.
클래스: 종자, 분류
객체 설계
Ex) Tiguan + Iguana = Tiguan
내가 신이라면, 다리는 4개, 신진대사, 물 속에서 생존가능 등등..의 구상을 하게 된다.
class Tiguan():
color = 'black'
class Tiguan():
color = 'black'
noname = Tiguan() #이름이 noname이야?
print(noname.color)
print(type(noname))
=>
black
<class '__main__.Tiguan'>
class Tiguan():
color = 'black' # 속성(attribute, 변수)
def run(self): # 메서드(method, 함수)
print('꼼지락~꼼지락~')
tiguan = Tiguan() # 이름이 tiguan
print(tiguan.color)
tiguan.run()
print(type(tiguan))
=>
black
꼼지락~꼼지락~
<class'__main__.Tiguan'>
속성 => 변수로 저장
기능 => 함수로 저장
멤버 함수라고 얘기하기도 한다.
특수목적으로 함수명을 지정하기도 한다. (독특하게 이름을 지음)
pass: 일단 보류라는 의미
설계도대로 만드는 중인 개체
-> 이름이라는 속성을 가져보자.
init함수는 먼저 실행한다는 의미
self 함수는 처음엔 자동으로 생성되어서 자동 호출된다.
self는 만들어지고 있는 Tiguan 자체를 의미한다.
처음에는 이름이 없으나, 만들어지게 된다.
class Tiguan():
def __init__(self,name):
self.name = name
클래스는 어떤 객체를 만들려고 하는 설계도 도면, 구상도이다라고 생각하면 매끄럽다.
객체는 세상만물을 어떻게 정의하고 표현할지 생각해 낸 것이 속성과 기능이 있다는 것이다.
예외 에러 처리할 때도 에러처리할 수 있는 기능을 부여해준 것이다.
=> 공식용어: 객체, 객체를 만드는 것은 클래스이다.