code : 준
1일차 본문
첫 날이었다.
이 전 학기를 마치고 코딩을 2달 가량 쉬었다.
원래 노는것도 너무 놀면 질린다고 딱 내 상태였다.
걱정보다는 기대가 컸다.
오늘 나갈진도는 파이썬 프로그래밍의 개요, 파이썬 기본 문법이었다.
교재에서는 아나콘다를 사용한다고 했지만 강사님께서는 코랩(Colaboratory)을 사용하셨다.
이전에 패스트 캠퍼스에선 들은 인강도 코랩을 이용하여 익숙했다.
코랩의 특징 :
- 파이썬 설치가 필요없음
- Keras, TensorFlow, metplotlib, pandas와 같은 패키지가 설치되어있음
- GPU를 무료로 제공
- 깃허브가 연동됨
코랩은 기본적으로 구글 드라이브에서 시작하기 때문에 파일의 공유가 매우 용이하다고 판단하셔서 사용한것 같았다.
______________________________________________________________________________________________________________________________
Python
- interpreter언어
- 고급언어 - 컴퓨터가 받아드리는 언어 수준이 높고, 그만큼 인간은 명령하기 편함
- 컴파일(원시파일 -> 기계어)언어와 반대의 개념
- 컴파일 대신 중간 언어로 변환하여 실행
- 한 단위로 실행
- 실행 속도 느림
- IDE(Integrated Development Environment)
- python IDE, Colaboratory(인공지능에 용이)
- python 기본 문법
- 자료의 타입
- 숫자
- 정수(int)
- 실수(float)
- 불린(boolean) -> True=1, False=0
- 문자열
- string - 'a', "a", ''' '''(멀티라인) -> 멀티라인은 있는 문자열을 그대로 가져와 변수에 넣을 때 매우 편리함!!!
- a > A 이러한 비교 연산자는 아스키코드에 의해 숫자로 바뀌어 가능
- 문자열 이스케이프 (\n, \b, \t )
- print(len("H b")) -> 3 :공백도 str의 한자리
- 타입 변환
- int(), str(), float()
- bool()
- 어떤 타입이던 다 변환 가능
- 0 or 비어있으면 False
- 나머지 True
- 숫자
- 연산
- 기본연산자 : + - * / ** // %
- 논리연산자 : and , or , not (not > and > or)
- 비교연산자 : == , != , < , > , <= , >=
- 변수
- 기본 타입 - 자료형과 동일
- 시퀀스 타입
- list
- 배열
- [ ] , li[2]
- 가장 많이 사용하는 자료형
- 선형 자료 구조
- 가변형
- append : 맨 끝에 원소 하나로 추가 ex)a=[1]; b=[2,3,4]; a.append(b) --> a = [1,[2,3,4]]
- insert : 중간에 내가 원하는 위치에 원소 하나 추가 ex)a=[1,5]; b=[2,3,4]; a.extend(0,b) --> a=[[2,3,4],1,5]
- extend : 여러개 한번에 추가 ex)a=[1];b=[2,3,4] ;a.extend() --> a=[1,2,3,4]
- tuple
- ( ), tu[2]->슬라이싱이나 자리 선택시에는 대괄호, 나열시 소괄호
- 리스트와 본질적으로 같음
- 튜플로 만들면 -> '내부의 자료값을 변하게 하지 않았음' 명시
- 불가변형
- range
- 수열 만듦
- range(start, end+1, step)
- range에서 시작점 생략가능, 끝점은 불가
- set
- dictionary
- list
- 인덱싱
- 파이썬의 시퀀스 타입은 자동 인덱스 생성
- 가리킨다 -> 특정 자리 가리켜 값 출력
- 슬라이싱
- []
- 원하는 범위를 잘라서 가져옴
- [시작점 : 끝점+1: step]
- 자료의 타입
a = [5]
b = [1,2,3,4]
a.extend(b)
a
추가 정보
- 프로그래밍 = 코딩 + 디버깅 + 자료구조 + 알고리즘
- 인공지능의 자연어 처리를 이용한 구글 번역기 프로그램에 할당된 번역 전문가는 0명이라고 함
- domain = data science로 풀고자 하는 문제가 속한 업계 (넓은 의미로는 그냥 영역 의미)
- Python starts form R
- 빈 IDE에서 게시판 하나 만들 수 있으면 JR 개발자로의 취업은 어렵지 않음
- 컴퓨터는 똑똑하지만 멍청함 -> 알고리즘, 자료구조가 중요한 이유
- 인코딩 (문자 -> 숫자) - text data -> binary data
- 디코딩 (숫자 -> 문자) - binary data -> text data
- CRUD - Create, Read, Update, Delete
https://www.youtube.com/watch?v=I5cq54MFQCo