시작
파이썬으로 할 수 있는 일
- 시스템 유틸리티 제작
- GUI 프로그래밍 : Graphic User Interface.
- C/C++ 와의 결합
- 웹 프로그래밍 : 게시판, 방명록
- 수치 연산 프로그래밍 : NumPy 수치 연산 모듈 제공
- 데이터베이스 프로그래밍 사이베이스, 인포믹스, 오라클, 마이에스큐엘, 포스트그레스큐엘 등의 데이터베이스에 접근하기 위한 도구를 제공
- 데이터 분석, 사물 인터넷
파이썬 위계 구조
모듈(module)
: 스크립트가 저장되어 있는 한 페이지로 되어 있는 문서 파일
모듈의 확장자는 .py
패키지(package)
: 같은 목적의 모듈을 하나의 폴더에 모아 저장해 둔 것
라이브러리(library)
: 같은 목적의 패키지를 하나로 모아준 것
표준 라이브러리(standard library)
기본
- 스크립트(script) : 문서의 형태로 작성한 코드
>>>
: 프로토콜(protocol)
- 출력 :
print()
함수 ( cf. JS : console.log()
)
- 주석은
#
- 자료형 확인은
print(type(a))
print(type(3))
# <class 'int'>
여기서 class! 파이썬 2.2버전부터 자료형과 클래스를 같은 계보로 병합했다고 함.
즉, 파이썬에서는 클래스(class) = 자료형(type)
Javascript에서의 class처럼 거대한 개념은 아님!
str( ) 함수
: 정수나 실수를 문자열의 형태로 바꾸어주는 내장 함수
- 파이썬에서 객체란 사용되는 모든 자료형
데이터
변수
- 변수(variable) : 대부분의 프로그래밍 언어는 스크립트상의 값을 저장할 수 있는 공간을 제공하는데, 이 공간이 변수
변수명 = 값
: 변수 선언. JS에서 같이 let, var, const를 안 붙이는게 편하네
- 변수 생성(선언, declaration)
- 값 저장(할당, assignment)
- 변수 호출(call)
- 값 꺼내기(참조, reference)
변수명 = 값
에서 =
는 같음을 의미하는 것이 아니라 우변을 좌변에 저장한다
- 변수의 값은 바뀔 수 있음
- 변수 이름 규칙
- 변수 이름은 영어 알파벳, 숫자, underscore(_)로만 구성
- 변수 이름 첫글자는 알파벳이나 underscore(_)로만 시작
- 숫자 시작 불가능
- 알파벳 대소문자 구별
객체
객체(object)
: 파이썬을 구성하는 모든 요소
- 모든 자료형, 변수도 객체, print() 함수도 객체
- 객체명 : 알파벳 대소문자, 숫자, _ 만으로 구성 (숫자로 시작할 수 없음)
- 키워드(keyword) : 예약어. 파이썬이 선점하고 있는 객체명은 사용할 수 없음.
import keyword
print(keyword.kwlist)
['False', 'None', 'True', '__peg_parser__', 'and', 'as',
'assert', 'async', 'await', 'break', 'class',
'continue', 'def', 'del', 'elif', 'else', 'except',
'finally', 'for', 'from', 'global', 'if', 'import',
'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass',
'raise', 'return', 'try', 'while', 'with', 'yield']
자료형
1. 숫자형
정수와 실수
- 정수형(Integer) : 소수점이 없는 숫자, 자료형명 =
int
- 실수형(Floating-point) : 소수점이 있는 수자, 자료형명 =
float
- 소수점의 유무로 정수, 실수를 구분하기 때문에 같은 값이라도 소수점의 유무에 따라 자료형이 달라질 수 있음
- 문자열과 숫자형은 연산 불가능!
age = "30"
next_year = age + 1
# 오류남
산술 연산자
- arithmetic operator
A // B
: A를 B로 나눈 몫
7 // 2 = 3.5
7 // 2 = 3
A % B
: A를 B로 나눈 나머지
A ** B
: A의 B제곱
제자리 연산
- in-place operator = assignment operator(연산과 할당을 동시에 수행함)
A += B
: A = A + B
A -= B
: A = A - B
A *= B
: A = A * B
문자열로서의 숫자
- 숫자 자료형과 문자열 자료형은 서로 더할 수 없기 때문에
사칙연산이 필요없는 숫자라면 처음부터 문자열로 생성
하는 것이 좋음!
- ex) 주민번호, 우편번호, 사번, 0으로 시작하는 경우
/ 연산자
파이썬3에서는 자동으로 결과값에 대해 형 변환을 함
print(66 / 2)
print(type(33))
print(type(33.0))
33.0
<class 'int'>
<class 'float'>
수학 연산 표현 순서
- ( )
- **
- *, /, %
- +, -
괄호를 적절히 사용해서 오류를 방지하고 가독성을 높이자!
2. 문자열 자료형
문자열 만들기
- 문자열 자료형(string) : 텍스트의 기본 자료형, 자료형명 =
str
- 변수에 선언할 때 무조건 큰 따옴표나 작은 따옴표로 감싸줘야 함
- "Hello World"
- 'Hello World'
- """Hello World"""
- '''Hello World'''
이스케이프 코드(escape code)
\'
: '
\"
: "
\\
: \
\n
: 줄바꿈. enter
\t
: 줄맞춤. tab
문자열 연산
a = "Have a "
b = "nice day"
print(a+b)
# Have a nice day
b = "nice day "
print(b * 5)
# nice day nice day nice day nice day nice day
상당히 직관적이어서 가슴이 웅장해진다...
> 문자열 관련 함수 따로 정리 ✍🏼
string concatenation
+
방법 이외의 방법
literal string interpolation
- 따옴표 앞에 f를 붙여야 함
- 치환하고 싶은 변수를 { }를 사용해서 표시 (함수 호출도 가능)
name = input()
print(f"Hello, {name}")
print(f""" ~ """)
3. 부울
- 부울(Bool) : 사용자가 파이썬에게 요청한 판단의 결과를 담은 자료형
- True , False 두 개. 자료형명 =
bool
비교 연산자
- ①
A < B
- ②
A > B
- ③
A <= B
- ④
A >= B
- ⑤
A == B
- ⑥
A != B
① ~ ④는 숫자형에만 적용 가능
논리 연산자
- 논리곱 관계 : 부분 조건식 모두 True일 때만 전체 조건식이 True가 되는 경우, 부분 조건식이 서로 간의 논리곱 관계에 있다고 표현
- 논리합 관계 : 부분 조건식 중 어느 하나만 True여도 전체가 True가 되는 경우
- 논리 연산자는 비교 연산자 보다 연산 우선순위가 낮음
- 사칙연산자, 비교연산자 = 기호
논리연산자 = 단어
자료형의 참과 거짓
- 1 : 참
- 0 : 거짓
- None : 거짓
- "python" : 참
- "" : 거짓
- [], (), {} : 값이 있으면 참, 없으면 거짓
Whitespace
- 들여쓰기(indention)
- 다른 언어와 달리 파이썬에서 들여쓰기 지키지 않으면 오류남