
책추천
DO it 점프 투 파이썬
혼자 공부했던 파이썬
처음 시작하는 파이썬
고성능 파이썬
전문가를 위한 파이썬
이메일 : shy1523@maiclass.com
강의 목표: 최소한의 파이썬 능력을 가지자!
현업에서 일하면, 데이터를 안주는 경우와 데이터를 엉망으로 주는 경우가있다.
따라서 데이터를 수집하고 전처리하는 것이 매우 기본이다.
파이썬은 컴파일러 언어보다 느리다는 단점이 있지만, 쉽고 유지보수가 좋다는 장점이 있다. 또 간결함, 오픈소스 등등 많은 장점이 있어서 매우 많은 곳에 주 언어로 자리 잡았다.
할 수 있는 일
데이터 분석
ML / DL
웹프로그래밍(ai 개발자와는 방향성이 좀 다르다)
수치 연산 프로그래밍 (넘파이를 이용 - 넘파이는 C기반으로 만들어져서 빠르다)
데이터베이스 프로그래밍( 접속하는 정도만 하지, 프로그래밍은 오라클 따위를 씀)
할 수 없는 일
리눅스 같은 운영체제에서 엄청난 횟수의 반복과 연산이 필요한 일
안드로이드 앱개발은 어려움
새로운 폴더 만들고 시작!
헬로월드~~
전체 핫키 보기
Ctrl + M, H
코드셀 -> 마크다운셀
Ctrl + M, M
마크다운셀 -> 코드셀
Ctrl + M, Y
되돌리기
Ctrl + M, Z
선택 줄 주석으로 변경
Ctrl + /
print에 대해서 많이 써보는 시간이였다.
# ''' 문장 '''
print('''Stay in the middle
Like you a little
Don't want no riddle
말해줘 say it back, oh, say it ditto
아침은 너무 멀어 so say it ditto''')
-> ```을 쓰면 뒤에 큰따옴표 작은 따옴표 오는거 상관없이 쭉 글을 적을 수 있다.
# 위아래 개행빈칸 없이 바로 나온다
print('''\
Stay in the middle
Like you a little
Don't want no riddle
말해줘 say it back, oh, say it ditto
아침은 너무 멀어 so say it ditto\
''')
-> 다 아는 것이다하고 까불지 말고 집중해서 듣자!
can only concatenate str (not "int") to str
눈에 익혀두자!
알고 있지만 다시 상기!
print('결과 1')
print('---'* 20)
print('결과 2')
print('---'* 20)
print('결과 3')
문자열[숫자]
사실 슬라이싱은 문자열 뿐만아니라 다른것도 포함된다. 여기서 잘 개념잡고 가자
print(0.52783e3)
print(0.52783E3)
print(527.83e-3)
print(527.83E-3)
print(0.52783E10)

- / // % **
두 연산자는 연산 뒤의 결과가 반드시 실수형으로 나온다!!!
당연하지만 놓치기 쉬우니 기억하자!
print(5_7)
print(type(5_7))
print(100_000_000)
print(type(100_000_000))

꿀팁 - 변수명은 GPT한테 물어보면 매우 잘지어준다!
데이터를 메모리에 할당한다. 데이터가 있는 주소를 가리키고 있는 것이 변수라 생각하면 될듯!
a =a +1
print(a, type(a))
b +=1
print(a, type(b))
-> 두개는 완전히 같은 표현이다.
string = '안녕하세요'
string += '!'
print(string)

import keyword
print(keyword.kwlist)


int('안녕하세요') # 이런 문자형은 숫자형으로 변환이 불가능하다
float('안녕하세요')
int('52.273') # 소수 형태의 문자열 입력시 에러가 난다.
# inch 단위를 입력 받아서 cm 단위 변경해주는 프로그램(1 inch = 2.54 cm)
inch_in = int(input('길이를 입력하시오 .(inch)'))
cm_out = inch_in * 2.54
print('입력값 : ',inch_in,'inch','-->','출력값 : ', cm_out,'cm')
매우 쉽군!
문자열.format(a,b,c..)
'{:d}'.format(n)
d 의 뜻은 정수가 들어온다고 미리 표기한 것(n은 정수)
'{:5d}'.format(n)
5d 의 뜻은 5칸에 오른쪽 정렬한다는 뜻
# 위의 내용을 어디다 쓰는가?
print('{}'.format(1))
print('{}'.format(12))
print('{}'.format(123))
print('{}'.format(1234))
print('{}'.format(12345))
print()
# 아래처럼 정리해야할 때 쓴다.
print('{:5d}'.format(1))
print('{:5d}'.format(12))
print('{:5d}'.format(123))
print('{:5d}'.format(1234))
print('{:5d}'.format(12345))

print('00001')
print('00012')
print('00123')
print('01234')
print('12345')

print('{:05d}'.format(1))
print('{:05d}'.format(12))
print('{:05d}'.format(123))
print('{:05d}'.format(1234))
print('{:05d}'.format(12345))

-> 이런 식으로 파일 제목 같은 것 정리하여 지을때 매우 편리함
print('{:05d}'.format(52))
print('{:05d}'.format(-52))
print('{:06d}'.format(-52))

-> 음수부호가 하나의 자릿수를 차지하는 것을 알 수 있다. 고려해야할 사항이다.
print('{:f}'.format(52.273))
print('{:.2f}'.format(52.273))
print('{:.1f}'.format(52.273))
print('{:.4f}'.format(52.273))
string = 'Hello World!'
print(string.upper()) # 대문자로 바꾸기

string = 'Hello World!'
print(string.lower()) # 소문자로 바꾸기

str.strip()
- 문자열의 좌우 끝단에 공백이 있다면 제거
- 외부에서 텍스트를 다운 받았을때, 쓸모없는 공백들을 걸러주는 함수
print(' 양쪽 공백 ')
print(' 양쪽 공백 '.strip())

-> 양쪽 공백이 없어진 모습
str.lstrip()
print(' 양쪽 공백 '.lstrip()) # 왼쪽 공백만 없애기
print(' 양쪽 공백 '.rstrip()) # 오른쪽 공백만 없애기

-> 상단은 좌측 공백 없애기, 우측 공백 없애기
string = '안녕안녕하세요'
print(string.find('안녕'))

-> 가장 처음에 안녕이 있으므로 0 출력하고 끝
string = '안녕안녕하세요'
print(string.rfind('안녕'))

print(string.find('잘가')) # 문장안에 찾는 내용이 없을 경우 -1 이 출력된다.

괄호안의 것을 기준으로 모두 나눈다
str.split()
리스트 값을 반환
string = '10 20 30 40 50 60'
print(string.split(' '))

print('잘자' in '안녕')
print('안녕' in '안녕하세요')
