프로그래밍 기초(컴퓨터)
컴퓨터
전기적 신호가 있고 없고를 1과 0으로 구분하여 만들어낸 산물, 이진법을 이용하여 논리, 연산, 저장을 수행하는 전자기계
- 컴퓨터를 켜고 각자의 목적에 따라 프로그램을 실행한다
- 이 프로그램은 모두 코드로 이루어져있다
프로그램 동작 과정
- 파일은 저장 장치에 저장
- 저장장치에 보존된 파일을 실행하면 RAM(메모리)에 그 파일의 시퀀스에 따라 필요한 부분 복사
- RAM에 복사된 파일을 CPU와 빠른 속도로 주고 받으며 연산을 시작하며 프로그램이 동작
프로그래밍
현실문제에 대해 해결책을 찾고 이를 설계하여 프로그래밍 언어로 구현하기까지의 필요한 모든 행위
소스코드(SORUCE CODE)
프로그래밍 언어로 작성한 텍스트 파일을 소스코드
프로그래밍 언어를 컴퓨터가 이해하는 방식
- 인터프리터 : 프로그램이 즉석 해석 -> 컴퓨터 전달(실시간)
- 파이썬
- 생산성이 높으나, 속도 느림
- 컴파일러 : 컴퓨터가 이해할 수 있는 방식으로 저장 -> 컴퓨터 전달
- 자바
- 생산성이 낮으나, 속도 빠름
파이썬 프로그래밍 언어의 장점
- 사람이 이해하기에 문법이 쉽다 -> 사람의 언어와 흡사하다.
- 데이터를 다루기 위한 NUMPY, PANDAS 등 제공되는 라이브러리가 많다.
- 손쉽게 데이터를 시각화할 수 있는 MATPLOTLIB, SEABORN 라이브러리가 많다.
- PYQT, TKINTER 등 GUI로 앱을 개발할 수 있다.
- DJANGO, FLASK 프레임워크를 활용하여 웹 서비스를 만들 수 있다.
- SCIPY를 활용하여 과학기술 계산 및 알고리즘을 활용할 수 있다.
- TENSORFLOW, KERAS, PYTORCH를 활용하여 DEEP LEARNING 모델을 구현할 수 있다.
파이썬 특징
- 세미콜론이 옵션
- 들여쓰기로 구분(탭보단 스페이스 4회)
- 인코딩 방식 UTF-8이 디폴트
- 동적타이핑
지수표기법, 2진법, 8진법, 16진수 표기
# 2진법 표기 => 숫자 0과 알파벳 b(비)
print(0b10001) # 이진법 형태를 숫자로
print(0b101110) # 이진법 형태를 숫자로
print(bin(17)) # 17을 이진법 형태로
print(bin(22)) # 22를 이진법 형태로
# 8진법 표기 -> 숫자 0과 알파벳 o(오)
print(0o21) # 팔진법 형태를 숫자로
print(0o26) # 팔진법 형태를 숫자로
print(oct(17)) # 17을 팔진법 형태로
print(oct(22)) # 22를 팔진법 형태로
# 16진수 표기 -> 숫자 0과 알파벳 x(엑스)
print(0x1f) # 십육진법 형태를 숫자로
print(0x16) # 십육진법 형태를 숫자로
print(hex(31)) # 31을 십육진법 형태로
print(hex(22)) # 22을 십육진법 형태로
변수 삭제
del x # 메모리 낭비 방지
문자열 리터럴 이스케이프
text3 = 'don\'t do that' #따옴표 앞에 \ 추가
text4 = "dont't do that"
개행문자
# \n 사용
s = 'First line.\nSecond line.'
print(s)
개행문자 그대로 출력하는법
# 문자열 리터럴 앞에 \ 추가
s1 = r'c:\name'
s2 = 'c:\\name'
시퀀스 자료형
[str(불변), list(가변), tuple(불변), range(불변)] <- 주로 사용, bytes(불변), bytearray(가변)
문자열 슬라이싱 꿀팁
변수명[시작숫자(이상):끝숫자(미만):증감크기]
# 이렇게 하면 쉽게 시퀀스 자료형을 뒤집을 수 있다.
변수명[::-1]
literal과 상수
- literal : 리터럴은 데이터 그 자체를 뜻 한다. 변수에 넣는 변하지 않는 데이터를 의미하는 것이다.
- 상수 : 상수는 변하지 않는 변수
EOF (에러창에 자주 나옴)
End Of File
😊자기소개 : https://sangwookwoo-resume-sangwook-ry5afd.streamlit.app/
💻Github : https://github.com/sangwookWoo
'데이터 분석 및 시각화 > 파이썬' 카테고리의 다른 글
[Python] 기초 정리(tuple, random, set) (0) | 2023.01.11 |
---|---|
[Python] 메모리에 객체를 저장하는 구조 (0) | 2023.01.11 |
[Python] 기초 정리(dictionary, zip, list comprehension) (2) | 2023.01.10 |
[Python] 기초 정리(for문, range의 활용, while문, break, continue) (0) | 2023.01.06 |
[Python] 기초 정리(함수, 리스트 메서드, 리스트 Stack처럼 활용, unpakcing, map, if문 등) (1) | 2023.01.05 |