■파이썬 수업
파이썬을 통해서 구현해야 하는 목표
1. 데이터 분석을 잘하기 위해서----> R, 파이썬 필수
SQL, R, 파이썬을 다 잘할 줄 아는 인재를 원함.
↓
분석 패키지가 상당수 있어서 분석하기 편하다.
↓
잘 분석한 결과를 발표하는 파워포인트를 넘어서
손에 잡히는 솔루션을 만들어내기를 원한다.
↓
이 솔루션이 R로는 한계가 있어서 파이썬을 배운다.
2. 딥러닝 기술을 이용해서 이미지 분류 코드 완성
건강한 폐사진 vs 질병 폐사진을 컴퓨터가 구분할 수 있도록
파이썬으로 신경망 구현.
1. 파이썬 설치
- 파이썬 아나콘다 설치 ( 3.7 version)
https://www.anaconda.com/download/
- 파이참 설치(아나콘다 설치 후 순서대로 하는게 좋음)
(professional 말고 community로 설치)
**아나콘다 네비게이터(초록원) 켜서 스파이더 런쳐 시켜야
프롬프트 창에서 인스톨 돌아감
선생님이 엑셀로 177제 주심.
책이랑 같이 병행한다고 하심.
■ 1. 대화식 모드로 프로그래밍 하기
*파이썬을 실행하는 방법
1. 대화식 모드
아나콘다 프롬프트 실행-python 엔터
a=1
b=1
a+b
exit() 엔터치고 빠져나오시오
2. 배치 모드(batch mode)
(python 들어가면 안됨.
cmd 에서도 됨)
notepad a.py
a=1
b=1
print(a+b)
저장하고
python a.py
(전부 base 모드에서)
*notepad 에서 002.py 만들었다
■ 2. 텍스트 에디터로 프로그래밍하기
1. spyder 프로그램
오라클로 치면 GATE같은 프로그램
ctrl+휠 돌리면 글씨크기 조절 가능
a=1
b=1
print(a+b)
(한 라인씩 드래그 해서 컨트롤 엔터 누름)
(커서대고 에프9 누르면 실행됨)
스파이더 키변경
Tools -> Preferences -> Keyboard shortcuts
2. 파이참(pycham) 프로그램
오라클로 치면 GATE같은 프로그램
file-new-python
a=1
b=1
print(a+b)
ctrl+shift+F10 누르면 한 번에 실행 됨
-한 라인 씩 실행하는 방법은
alt+shift+e
■3. 변수명 만들기
-> 변수 이름 규칙
1. 변수 이름에는 다음 문자만 사용할 수 있다.
-소문자(a~z)
-대문자(A~Z)
-숫자(0~9)
-언더스코어( _ )
2. 변수 이름은 숫자로 시작할 수 없다.
빈컵을 변수라고 생각하시오.
3. 예약어를 사용할 수 없다.
EX : False, Class, Is, Return
*일반 변수 사용 예
"변수 안에는 데이터가 한개"
a=100 #a라는 빈컵에 100을 채워넣는다.
print(a)
print(type(a)) # a변수의 데이터 유형을 확인하겠다
<class 'int' > <<<---숫자형 데이터 타입(정수)
문제1. 위의 예제를 따라서 문자형 변수를 만들고 type 을 확인하시오
a='100'
print(a)
print(type(a))
<class 'str'> <<<---문자형 데이터 타입
***
a='100' ; print(a) ; print(type(a))
이렇게 세미콜론으로 구분지어서 한 줄에 작성 가능
***
■리스트 변수
"변수 안에 여러개의 데이터(요소)가 들어 있는 변수"
d= [1000, 2000, 3000, 4000]
print(d)
print(type(d))
문제2. d로 만든 리스트 변수에서 숫자 1000을 출력하시오
print(d[0])
d= [1000, 2000, 3000, 4000]
0 1 2 3
※ 파이썬은 시작을 0부터 시작한다.
문제3. d list 변수 안에 있는 요소들을 하나씩 다 출력하시오
(반복해서 출력하는 for 이용)
for i in d: #반드시 콜론을 써준다.
print(i) #print 앞에 반드시 4칸 띄워야 한다.
for i in [1000,2000,3000,4000]: #d를 이용한것과 같다
print(i)
※ 설명: 자바, C 언어를 사용하던 사람들은 뒤에 세미콜론을
붙이는 습관이 있는데
파이썬에서는 기본적으로 구문뒤에 아무것도
붙이지 않는다.
if문, while loop, for loop, def, class 문의 뒤에는
콜론(:) 을 꼭 붙여야 한다.
파이썬이 다른 언어보다 보기 쉽고
소스코드가 간결한 이유는 바로 콜론(:)을 사용해서
들여쓰기를 하도록 만들었기 때문이다.
콜론(:) 뒤에 나오는 명령어를 다음 줄에 작성하려면
들여쓰기를 해야한다.
예제: for i in range(100):
print(i)
파이썬은 0부터 시작해서 99까지 출력된다.
**원래 다른 언어는 괄호로 묶는데
파이썬은 심플하게 보여주려고 괄호를 안쓰고
(공백)띄어쓰기로 구분한다. boundary 를 나타낸다.
파이썬의 장점은 머릿속의 생각을 빠르게 구현할 수 있다.
■4. 변수에 값 대입하기
※설명: 파이썬 에서는 변수에 값을 대입할 때 =(assignment) 기호를
사용한다.
예제: a = 7788
파이썬의 코드는 심플함을 철학으로 삼고 있다.
*파이썬의 기본 철학을 확인하는 방법
import this #F9
->Simple is better than complex.
a = 7788
파이썬에서 사용하는 변수는 객체를 가리키는 것
객체란 우리가 지금까지 보아왔던 자료형을 포함해
"파이썬에서 사용되는 모든 것" 을 말한다.
>>>> a =3
3 이라는 값을 가지는 정수형 자료형이 자동으로
메모리에 생성이 되고 a 는 변수 이름이고
3 이라는 객체가 저장된
메모리의 위치를 가리키는 것이다.
a -------------------------> 3
↑
정수형 객체
변수a는 객체가 저장된 메모리의 위치를 가리키는
레퍼런스reference라고 할 수 있다.
a=3; b=3; a is b
a 가 3을 가리키고 있고, b도 3을 가리키고 있다.
즉 3을 가리키는 변수는 2개가 있는 것이다.
문제4.
a와 b는 정말 같은 객체를 가리키는 것인가?
a=3
b=3
a is b #이 2개가 같은가에 대한 질문이다.
import sys """sys 라는 모듈(프로그램 코드)을 \
import(가져오겠다/수입) 하겠다."""
print(sys.getrefcount(3) )
get_ref_count
**역슬래시가 \로 나와도 같은거
설명: 3 이라는 정수형 객체를 참조하는 변수의 갯수를 확인할 수 있다.
내가 a,b 로 가리킨 것 말고도 내부적으로 있어서 그렇다.
■ 5. 주석처리하기(#)
프로그램에서 코멘트는 인터프리터에 의해 무시되는 텍스트의 한 부분이다. 코드를 설명하거나 나중에 어떤 문제를 고치기 위해 표시하는 등 다양한 목적으로 코멘트를 사용할 수 있다.
1. 주석 처리하는 방법
# 더하기하는 프로그램입니다.
a=1
b=1
print(a+b)
2. 라인을 유지하기
1+2 \
+3
(다음라인으로 바뀌어도 같은 문장임을 나타내는 역슬래시)
3. 여러행 주석 처리하는 방법
""" this program was made \
by Mr song"""
**역슬래시가 \로 나와도 같은거
■ 6. 자료형 개념 배우기
-> 자료형 이란?
"프로그래밍을 할 때 쓰이는 숫자, 문자열 등
자료형태로 사용되는 모든 것을 뜻한다"
-> 파이썬의 자료형
1. 숫자
2. 문자
3. 리스트 [ ]
4. 튜플 ( )
5. 딕셔너리 { }
6. 집합 자료형 교집합 &
합집합 |
차집합 -
*설명
3. 리스트 : 데이터의 목록을 다루는 자료형
예: d=[1,2,3]
d[0] =5
print(d)
[5,2,3] 으로 출력
-> 리스트는 1을 5로 변경해서 출력했다.
**리스트가 제일 많이 쓰인다.**
4. 튜플 : 데이터의 목록을 다루는 자료형인데
리스트와는 다르게 변경이 불가능한 자료형
예: f=(1,2,3)
print(type ( f ) )
->변경시도
f[0]=5
변경이 안되면 자료들을 튜플로 이용해서 입력하면 좋다.
믿을 수 있는 데이터다.
5. 딕셔너리: key 와 value 를 조합해서 사용하는 자료형
예:
m = { }
m['python'] = 'www.python.org'
↑ ↑
인덱스, key 값, value
print(m)
print(m.keys())
print(m.values())
6. 집합 자료형
" 리스트 데이터 집합의 교집합, 합집합, 차집합을 출력할 때
유용하게 사용되는 자료형 "
예제: s1 = set( [1,2,3,4,5,6] )
s2 = set( [4,5,6,7,8,9] )
print (s1 & s2) #교집합
print (s1 | s2 ) #합집합
print (s1- s2) #차집합
문제5. emp2.csv 를 파이썬으로 로드해서 print 하시오
import csv
file = open("D:\\CSV\\emp2.csv", 'r')
emp2_csv = csv.reader(file)
for emp2_list in emp2_csv:
print(emp2_list)
(역슬래시는 2개씩.
파일위치\\파일이름)
→for 을 이용해서 csv 갖고 온 거.
행 단위로 컴마 구분해서 list 만들었음.
문제6. 이름, 월급을 출력하시오
import csv
file = open("D:\\CSV\\emp2.csv", 'r')
emp2_csv = csv.reader(file)
"""for emp2_list in emp2_csv:
print(emp2_list)"""
for emp2_list in emp2_csv:
print(emp2_list[1], emp2_list[5])
****저장된 값을 가져오는게 아니라서
import 부터 해야한다.
emp2 순서가
empno ename job mgr ? sal comm deptno
0 1 2 3 4 5 6 7
■ 8. 들여쓰기 개념 배우기
파이썬이 다른 언어보다 보기 쉽고 코드가 간결한 이유는
바로 콜론(:)을 사용해서 들여쓰기를 하도록 만들었기 때문이다.
파이썬은 블록 구분을 들여쓰기를 통해서 한다.
콜론(:) 뒤에 나오는 명령어를 다음줄에 작성하려면
4칸 들여쓰기를 해야 한다.
예: 월급이 3000 인 사원들의 이름, 월급을 출력하시오
import csv
file=open("d:\\csv\\emp2.csv", 'r')
emp2_csv=csv.reader(file)
for emp2_list in emp2_csv:
if int(emp2_list[5])==3000:
print(emp2_list[1], emp2_list[5])
***int(emp2_list[5] ) ----> oracle에서 to_number 랑 같은거다.
숫자형으로 변환해라.-> int( )
문제7.(점심시간문제)
직업이 ANALYST, CLERK 인 사원들의 이름, 직업을 출력하시오
import csv
file=open("d:\\csv\\emp2.csv", 'r')
emp2_csv=csv.reader(file)
for emp2_list in emp2_csv:
if str(emp2_list[2]) in('ANALYST', 'CLERK'):
print(emp2_list[1], emp2_list[2])
문제8. 부서번호가 10번인 사원들의 이름,월급,부서번호를
출력하시오
import csv
file=open("d:\\csv\\emp2.csv",'r')
emp2_csv=csv.reader(file)
for emp2_list in emp2_csv:
if int(emp2_list[7])==10:
print(emp2_list[1], emp2_list[5], emp2_list[7])
'python' 카테고리의 다른 글
5. 시퀀스 자료 (0) | 2019.03.24 |
---|---|
파이썬vs오라클vs판다스 연산자 (0) | 2019.03.24 |
4. 연산자, TRUE/FALSE (0) | 2019.03.24 |
3. None, 정수형, 실수형, 복소수형 (0) | 2019.03.24 |
2. if, for, while 문 (0) | 2019.03.24 |