본문 바로가기

KOSA 클라우드 솔루션즈 아키텍트 양성과정

[5.9] Python 1일차

# 프로그래밍이란?

- 해야할 일을 (순서에 맞게) 기술한 것

 

# 컴퓨터 프로그래밍이란?

- 컴퓨터가 해야할 일을 (순서에 맞게) 기술한 것

 

# 컴퓨터의 세계 vs 인간의 세계

- 2진수 vs 10진수, 12진수, 60진수

- only 수 vs 다양한 데이터 형 

- CPU vs 두뇌

 

# 어셈블리어

- 기계어와 1대1 대응

 

# 저수준 언어 vs 고수준 언어

- 기계(CPU)에 가까운지 인간에 가까운지

 

# 컴파일러 vs 인터프리터

- 컴파일러 : 한 번에 쭈욱 해석 (번역가의 느낌, C, JAVA, 느림, 목적프로그램 생성)

- 인터프리터 : 명령어 한 줄 한 줄 읽을 때마다 실행 (동시통역의 느낌, Python, BASIC, 빠름, 목적프로그램 생성X)

 

# 접착 언어 (Glude Lang)

- 다른 언어와 잘 접착할 수 있는 언어

- Numpy의 계산 부분은 C언어로 작성 

 

# Library vs Framework

- 라이브러리 : 타인이 작성한 코드를 가져다 쓰는 것

- 프레임워크 : 직접 작성한 코드를 프레임워크가 실행


## 소스파일 == 스크립트 파일(JS등)

 

## C언어 : 소스코드 -> 컴파일러 -> 목적파일(.obj) -> 링커 -> 실행파일(.exe) 

                    |----------------------------------------------------------->|

                                                빌드(build)


1. Anaconda

환경변수 설정

* 상단은 사용자 변수, 하단은 시스템 변수

* 만약 아나콘다 설치 시 Add Anaconda3 to the system PATH enviroment variable 체크 안 해주면 직접 환경변수에서 아나콘다 설치 위치의 경로를 추가해주어야 함

 

출력

* 변수명만 입력 시 문자열 자체를 출력

* print 이용 시 다른 형태로 출력

 

notepad로 소스파일 만들기

* C드라이브의 사용자 아래 .py형식으로 저장

 

현재 디렉토리에서 .py형식의 파일 찾기

* test.py를 볼 수 있음

 

소스파일을 실행한 모습

* 하지만 say hi만 출력됨

 

conda명령어

* conda activate base를 통해 base 기반으로 실행

* conda env list를 통해 경로 확인

 

# 참고 : 고정폭 가변폭 : 코딩은 고정폭, 한글에서 고정폭은 ~~체로 끝남

 

ipynb

* ipynb notebook이 jupyter notebook으로 바뀐 것

* b누르면 아래에 새로운 쉘, a누르면 위에 새로운 쉘 추가

* Ctrl + enter는 해당 쉘을 실행

* Shift + enter는 해당 쉘을 실행하고 다음 쉘을 만들면서 커서가 넘어감

 

개행문자 \n

* \(역슬레시)n을 통해 엔터 효과

* \' 는 '를 그대로 출력하게 해줌

 

변수명

* 무조건 짧은 변수명을 쓰기보다 이해하기 쉬운 변수명을 사용하는 것이 좋음

* 어차피 seco 정도까지 입력하고 tab키 누르면 자동완성

 

파라미터. 인자

* 변수를 통해 계산

* print함수는 가변인자를 정의하고 있음

* 파이썬은 강타입 언어(Strong Type Languague) : 타입이 안 맞으면 애러

* 객체이름(변수의 값)은 숫자로 시작할 수 없음

- 강타입 vs 약타입 

 

"""(따옴표 세 개)

* """ 안의 문장은 엔터 치면 줄바꿈 됨

 

f-string

* f-string은 파이썬 3.6 이상 버전부터 사용 가능

* 출력할 내용을 미리 변수에 바인딩해야 함 == 변수가 객체를 바인딩한다 == 변수에 값을 저장한다.

 

f-string 예시

 

.format

* .format방식은 f-string방식 이전에 사용하던 방식

* 변수 값이 늘어나면 헷갈릴 수 있음

 

.format

* 변수명.foramt() 형식으로도 사용 가능

 

name과 greeting 바뀌어도 된다

 

가운데 정렬

* :^20을 통해 20칸의 여백을 두고 가운데 정렬

 

좌측 정렬

* :<20을 통해 20칸의 여백을 두고 좌측 정렬

 

우측 정렬

* :>20을 통해 20칸의 여백을 두고 우측 정렬

 


2. Jupyter notebook

쥬피터 노트북

* _1은 Out[1]의 출력 결과를 다시 출력해줌