프로그래밍 언어의 특징
1. 인터프리터
2. 문법
3. 개발툴
Data / 함수 / 객체
- 파이썬은 모든 것이 객체이다
- Data의 자료형
> List : 데이터의 중간 결과 저장(임시 저장), 분석 결과물 저장 용도
> Tuple : 메인 함수에 여러 개의 인자를 넣을 때 (*Tuple 형식으로) key 없이 value만 모아서 쓴 것이 튜플
> Set : (Lookup table) key만 모아둔 것.
> Dict : key/value로 존재. key는 고유한 단어로 존재하며 value는 key가 의미하는 내용.
Dict = Set(key) + Tuple(Value)
Temp(dict) = List
- 객체(Class의 Instance)
> int, float 이런 것들은 다 원형 class가 있고 선언하면서 Instance가 되는 것임(메모리에 올라감!)
> 해석 가능한 문자열들(Token)
> 메모리 관리를 따로 해주지 않아도 파이썬은 알아서 메모리 관리를 해준다.
> a(변수) = 1(상수)
상수란 값이 변하지 않는 칭긔 칭긔이다.
- mutable - 변할 수 있는 / immatable - 못 변해요(Scala)
만약 리스트를 할당한다면 list = [1, 2, 3, 4, 5] list[0] = 1 , list[1] = 2 이런 식으로 가겠지. 각각의 인덱스는 요소를 가리키고 있으며 (주소 값) 요소를 변경할 수 있다. 이는 mutable 하다는 것을 의미한다. 성분도 바꿀 수 있고 새로운 칭구를 append 할 수도 있다.
하지만 튜플을 생각해보자. tuple = (1, 2, 3, 4, 5) 변하지 않는 데이터를 저장하는 용도. append도 update도 안되는 immatable한 친구이다.
Set은 멀까.. 이 친구는 집합이라고 생각하면 된다. 성분을 추가할 수 있으므로 mutable한 친구이다. 대신 기존에 있던 성분들과 완전하게 다른 친구를 넣어주어야 한다.(Unique 속성) Dict도 마찬가지로 mutable하다. 따라서 영~원히 변하지 않는 친~구는 tuple이다.
list = [5, 'a']
tuple = (5, 'a')
Set = {5, 'a'}
dict = {5:7, 'a':8}
Set[0] = ? 무슨 값이 나올까 ?. 아무도 모른다. 얘네들은 안에서 서로 순서를 정해놓지 않았기 때문에 그 때 그 때 다른 값이 나타난다. 따라서 색인의 용도로는 절대 사용할 수 없다.
연산이 너무 많아서 메모리가 부족하면 어떻게 될까? lazy extenstion. 실행시 계획을 잔뜩 만들어놓고 액션일 때 한 번에 한다. 코드 최적화를 할 시 여태 책임은 내가 졌는데 텅스턴 엔진을 통해 알아서 최적화를 해주고 중간 저장 데이터(중간 연산의 산출물)은 만들지 않고 최종 결과물만 주는 것이다.
값을 메모리에 올려놓으면 메모리를 소비할 수 밖에 없다. 하지만 generate, itorate 하면 값을 가지는게 아니라 저 가질거에욘~하고 계획만 세우고 있는 것이다.
- 패키지 : 한번에 사용하기 위한 용도로 모아 놓은 것
- 모듈 : 어떤 곳에다가 끼워넣는 의미.
- 라이브러리 : 큰 장소에 빼곡히 채워넣은 것.
규모가 크면 라이브러리. 쪼끔 사용하면 패킷. 째깐째깐 한 것은 모듈.
> 모듈 (클래스, 함수, 서브 모듈)
pip install urllib
pip update urllib
필요할 때 필요한 명령만 불러와야 한다. 따라서
import urllib
오후는 JupyterNoteBook을 사용한다. 그야말로 평범하구만.
(base) path>jupyter notebook --notebook-dir=C:\Users\kosta\Documents\temp
(중간 삭제)
[I 13:14:03.464 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 13:14:03.520 NotebookApp]
To access the notebook, open this file in a browser:file:///rver-13704-open.html
Or copy and paste one of these URLs:
http://localhost:8889/?token=dba083b48e3b5ff75f5aa09d4ce0f6c8256ee9824c4569a7
anaconda를 이용해 다음과 같이 원하는 위치에서 실행할 수 있다.
New를 통해 새로운 노트북을 생성하고 Markdown 셀로 원하는 제목을 정해준다. 1 line씩 실행할 수 있으며 In을 통해 코드를 입력하고 Out을 통해 결과를 보여준다. 얘는 리눅스의 명령어를 모두 수용해주는 착한 모습을 보인다.
!를 사용하면 os의 명령어를 사용할 수 있다. %를 사용하면 주피터 노트북의 명령어를 사용한다는 것이다.
이렇게 작성하면 hello_world.py에다가 작성하라고 하는 것이다.
불러오기도, 실행하기도 할 수 있다.
간단한 구구단도 함 만들 수 이따
6단 이하에서 짝수단만 출력하긔
enumrate , zip ---> for 문 안에 사용하는 option
억지로 쓰려고..구질구질스의 결정체..
이렇게 쓸 수 있는건 처음 알았따 신기방기
'Python > Default' 카테고리의 다른 글
Kaggle에서 한글 폰트 사용하기 (0) | 2019.07.12 |
---|---|
NASA Dataset을 이용하여 predictive - maintenance 하기 전 데이터 살펴보기 (0) | 2019.07.05 |
Python PDF extract tool 정리 (0) | 2019.05.29 |
Pyspc를 사용하여 SPC Graph 그리기 (0) | 2019.05.10 |
CentOS7에서 Oracle 연동 오류 (0) | 2019.04.16 |