Data

[1028 from 점프 투 파이썬, 부스트캠프]Python

점프 투 파이썬 << 출처 바로가기

AI Tech Pre-course << 출처 바로가기

파이썬(Python) 1. 플랫폼 독립적 인터프리터 언어 (플랫폼=OS, 인터프리터 언어=통역기를 사용하는 언어)
2. 객체지향 동적 타이핑 언어
(객체지향: 실행순서가 단위모듈 중심-method, attribute 갖음)
(동적타이핑언어 : 실행하는 시점에 프로그램이 사용해야할 데이터 타입을 결정함)
3. 처음 C언어로 구현되어 있음. 

1991년 암스테르담의 귀도 반 로섬(Guido Van Rossum)발표
- monty python's flying circus : 몬티파이썬 (영국코메디클럽)비행서커스 에서 이름유래. 
- 파이썬 개선사항(PEP: Python Enhancement Proposals) 최종의사결정자: 자비로운종신독재자
- 2010년..MS오픈소스 정책 동의하여 이직. 
- python (피톤) 그리스 신화속 괴물뱀

why Python
쉽고 간단하며 다양하다. 
이해하기 쉬운 문법, 사람의 시간이 기계 시간보다 중요하다. 
다양한 라이브러리: 무엇을 생각하든 그것을 구현할 수 있다. 
인터프리터(interpreter) 소스코드를 실행시점에 해석하여 컴퓨터 처리할 수 있도록 함
-실행속도 느림, 간단히 작성, 메모리 적개 필요. 
ex)
자바스크립트, HTML, 액션스크립트, SQL, python, ruby, 스칼라 등..
Source code > 인터프리터 > CPU
컴파일러(compiler) 소스코드를 기계어로 먼저번역, 해당 플래폼에 최적화 되어 프로그램을 실행. 
= 사람이 알 수 있는 고급언어를 기계만 알수 있는 저급언어로 변환
- 실행속도 빠름, 한번에 많은 기억장소 필요
ex) C, 자바, C++, C#
Source code > 컴파일러 > 어쌤블러 > CPU
* 파이썬은 컴파일언어 C로 작성, Assembler와 같은 기계어 변환 과정 거침
개발환경설정 1. 운영체재
2. 파이썬 인터프리터 : 2.7 ... 현업에서 사용, 현재 3.X  , 3.8 설치
Python: 일반적 파이썬, 기본적인 모듈 포함, 
Anaconda : 다양한 과학 계산용 모듈을 묶어서 패키지
3. 코드편집기(Editor)
메모장
VI editor :리눅스 기본문서 편집도구
Sublime Text Atom VS Code : 프로그래밍 특화된 문서 편집도구
PyCharm : 다양한 기능 갖춘 파이썬 전용 개발 도구
1) 설치되 어플리케이션 : VS Code(비쥬얼 스튜디오 코드) 
2) 웹 기반 인터랙티브 편집기 : 주피터, colab 

Type 1- Python Anaconda + VS Code
Type 2 - Data analysis _ Deep learning
: jupyter + colab(구글, 클라우드기반 인터랙티브 코드편집기)
설치
-anaconda
-vs code
아나콘다>미니콘다 설치
https://docs.conda.io/en/latest/miniconda.html

Cmder 사용시 필요.  - conda activate base
python  정상설치 확인
나가기 ctrl + z 엔터


VS Code
https://code.visualstudio.com/

설치
-Jupyter notebook
Jupyter
- IPython 커널 기반 대화형 파이썬 셸
- 일반적인 터미널 셀+웹기반 데이터 분석 NoteBook 제공
- 미디어, 텍스트, 코드, 수식 등을 하나의 문서로 표현가능
- 사실상 데이터 분석 Interative(엔터 바로 결과) Shell의 표준
- Julia + Python + R
설치 :C:\Users\miseo\python_workspace>conda install jupyter
실행 : C:\Users\miseo\python_workspace>jupyter notebook  
크롬. 선택
new 드롭박스 > python3 , 제목변경

- cell 단위로 실행 -> 실행시점 해당 코드가 memory에 올라감
실행 : ctrl 엔터 , shift 엔터, alt 엔터
툴팁 : shift  + tab
들여쓰기 : ctrl+]   or ctrl [
셀 나누기 : ctrl +shift  +-
아래 셀이랑 합치기 : esc    > shift M
셀 오려두기 x, 복사 :c(opy), 붙여넣게 :  v or shift +v
셀 지우기 : d, d   셀지우기 취소 : z
markdown 변환 m,m    
code 변환 : y,y
설치
-Colab
구글이 개발 클라우드 기반의 jupyter notebook
구글 드라이브 + GCP +jupyter 등이 합쳐져서 사용자가 손쉽게 접근
초반 여러가지 모듈 설치의 장점을 가짐
구글 드라이브 파일을 업로드하여 사용 가능한 장점 가짐 >> 노트북 사향 낮을때 유리
VSCode 등과 연결해서 사용가능
V100이상의 GPU를 무료로 쓸수 있다는 장점을 가짐. 
**딥러닝할때 많이씀. 

google colab 검색. 
https://colab.research.google.com/notebooks/intro.ipynb?utm_source=scs-index
단축키.. ctrl d..  > ctrl m d 



GCP : Google Cloud Platform 구글 클라우드 플랫폼. 
Variables & List 변수 : 가장 기초적인 프로그래밍 문법 개념
         데이터 값읕 저장하기 위한 메모리 공간의 프로그래밍상 이름. 


   
   

GPU : Graphic Processing Unit 그래픽 처리 장치 

2장 자료형  

 

숫자형 -7//4               .

>> 7/4 는 1.75, 7//4는 1,  -7 / 4 는 -1.75 , -7 // 4 는 -2

문자형  """ """  '''' '''

이스케이프 코드(\n) 삽입에 편리

** 이스케이프 코드 

: 프로그래밍 시 사용할 수 있도록 미리 정의해둔 문자조합. 출력물을 보기 좋게 정렬하는 용도로 이용. 

\n 줄바꿈  \t 수평탭

a = "="

b = "\n"

c="Python"  

print(a*20 +b +c+b+a*20)

==================== Python ====================

a = "abcdefg"

문자열 인덱싱 : a[-3]

e : 문자열 인덱싱은 문자열 내 특정한 값을 뽑아내는 역할 - 는 뒤에서부터

 

문자열 슬라이싱 :a[0:-3], a[:], a[:1]

abcd : 마이너스 사용은 가능.... 그런데... 뭔가. 이상...

abcdefg : 전체

a : 첫번째 자리에서 짜름

문자열 포멧팅 1 : "I eat %d %s apples." % (5,"five") , "%10s" % "hi"

%d : 정수, %f : 부동소수, %8 :8진수, %x : 16진수 %%: 문자%, %s : 문자열 %c : 문자 1개,

'I eat 5 five apples.'

%s 는 자동으로 문자열로 바꿔조서 고민안하고 써도됨

오른쪽 (정렬 +공백)은 양수 왼쪽(정렬+공백)은 음수

 

문자열 포멧팅 2 :"I eat apples, cans and ".format("five", 6, aaa="others")

'I eat five apples, 6 cans and others'

 

문자열 포멧팅 2-2 : "".format("hi"), "".format("hi") ,

"".format("hi") , "".format("hi") , "{{ and }}".format()

오른쪽정렬, 왼쪽정렬, 가운데 정렬 , 공백 채우기 , 중괄호처럼 포매팅 문자 사용시 두번사용

 

문자 개수 세기 : "test".count("t")

가운데 정렬 :^ 왼쪽 정렬 :< 오른쪽정렬 :>

가운데 정렬 +공백문자"!" :!^ 왼쪽 정렬 :!< 오른쪽정렬 :!>

 

리스트 알파벳 숫자 정렬 : a.sort()

리스트 뒤집기 : r.reverse()

a.rstrip() a.strip() a.replace("hi", "hellow")

A = [1,2,3,4]

A.insert(3,9)

A.remove(3) a.split()

A.pop()

a = [1,2,3] a.extend([4,5])

a = [1,2,3] a.extend([4,5]) print(a) a += [6,7]

print(a)

 

튜플(tuple)

t1 =()

t2= (1, 2,3,) # 항상 값이 변하지 않음

del t2[0] # 오류

 

딕셔너리 ... Map 과 유사

dic = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}

dic.keys()

dic.values()

dic.items()

dic.get("name")

dic.get("name222") #Nome

dic.clear()

"name" in a

 

 

파이썬(Python)은 1990년 암스테르담의 귀도 반 로섬(Guido Van Rossum)이 개발한 인터프리터1 언어이다

>>> a = 3 >>> if a > 1: ... print("a is greater than 1") ... a is greater than 1

 

>>> for a in [1, 2, 3]: ... print(a) ...

>>> i = 0 >>> while i < 3: ... i=i+1 ... print(i) ...

사용자 입력

a = input()

number = input("숫자를 입력하세요: ")

print("life" "is" "too short") 

 

print("life", "is", "too short")

 

f = open("새파일.txt", 'w') # w : 쓰기 , r : 읽기, a :마지막에 새로운내용 추가

 

f.readline() # \n 포함 리스트f.read() # 파일전체를 문자열로 리턴f.write("추가합니다. ")f.close()
import sys
args = sys.argv[1:]for i in args:

 

    print(i)