1. 컴파일 단계
- 파일 확장자: py(Jupyter Notebook: ipynb json 형식, py 파일로 변경 저장 지원)
- 단계: Python 소스는 라인단위 변환기인 Interpreter에 의하여 기계어로 바로 컴파일되어 실행됨.
2. 변수
- 파이썬은 숫자를 포함하여 모든 변수를 내부적으로 객체로 처리한다.
- 숫자로 시작할 수 없다.
- 파이썬 예약어는 사용하지 못한다.
- 대소문자를 구분한다.
- 변수 선언시 데이터 타입을 선언하지 않는다(Javascript와 비슷하다).
- 객체 기반이라 데이터 타입 변환이 자유롭다(타입을 별도로 선언하지 않는다).
- 의미 있는 변수명을 지정한다.
- 특별한 경우가 아니면 변수의 길이는 5글자 이상으로 한다.
- 자바의 숫자는 상수로 메모리에 여러개가 존재하나, Python에서는 정수도 객체화하여 메모리상에서 공유한다.
3. 데이터(자료) 형 (data type)
- 프로그램의 실행 흐름: 입력 → 처리 → 출력
- 데이터를 입력하며 처리하고, 출력하며 메모리에 저장한다.
- 사전에 지정된 데이터 타입이 메모리를 할당하는 기준이 된다.
- None : 아무런 값이 없다는 것을 나타냄.
- Boolean : True, False 값 사용, 첫 자 대문자 주의
- 정수형 : 객체 기반의 음의 정수, 양의 정수를 저장함.
- 실수형 : 소수점이 들어간 실수를 저장함.
- 문자열형 : 문자열을 저장할 수 있으며 여러 라인도 가능함.
- 주석 : 한라인 주석(#), 여러 라인 주석 (''' ... ''' 또는 """ ... """)
- 한글 선언 : 파일의 상단에 아래의 코드를 선언함.
Jupyter Notebook, PyCharm은 생략
Eclipse PyDev : # -*-coding : utf-8-*- 또는 # coding=<utf-8>
4. 데이터 타입 실습
▷ /python/notebook/basic/DataType.ipynb
- 정수 / 정수 = 실수
print("sw=%10s" % sw) # 오른쪽 기준 문자열 출력
print("sw=%-10s" % sw)
print("%10d" % 2019)
print("%10f" % 10.56) # 소수 6째 자리까지 출력
print("%.1f" % 10.56) # 반올림
print("%3.1f" % 1000.56) # 정수는 자리수와 상관없이 출력, 반올림
print("%5.1f" % 10.5) # 정수 3자리, 소수점 1자리, 소수 1자리 출력
print("%5.1f%%" % 10.5) # %
print("f(x) = {0}x + {1}".format(2, 3)) # f(x) = 2x + 3
5. 연산자 (Operator)
- 단항 연산자: 하나의 변수로 연산이 진행
- 산술 연산자: 사칙연산(*)
- 비교 연산자: 대소비교, 동일한지 비교(*)
- 논리 연산자: 참, 거짓 연산자(*)
- 삼항 연산자: 조건식, 참, 거짓 결합
- 대입 연산자: 값의 대입(*)
- ++, -- 없음
1. 산술(수치) 연산자 : +, -, *, /, //, %
- % : 몫을 뺀 나머지 연산자.
- // : 나누기 연산 후 소수점 이하의 수를 버리고, 정수 부분만 구하는 연산자.
1 % 3 = 1
2 % 3 = 2
3 % 3 = 0
4 % 3 = 1
5 % 3 = 2
6 % 3 = 0
7 % 3 = 1
8 % 3 = 2
9 % 3 = 0
- 어떤수를 나누었을때 나머지가 0이면 어떤수의 배수이다.
2. 대입 연산자: =
- 좌변은 상수(숫자, 문자, 문자열)값이 아니라 기억장소(변수(식별자, 메모리))가 와야한다.
- (예) year = 2016 : '='을 기준으로 우항은 값을 가져오는 역할을 하며, 좌항은 값이 저장될 메모리 역할을 한다.
3. 기타 연산자
- 연산후대입 연산자: +=, -=, *=, /=, %=
- 증가/감소 연산자 지원 안함: ++(1씩 증가), --(1씩 감소)
▷ /python/notebook/basic/DataType.ipynb
.....
print('100의 50%:', 100 * 0.5)
print('100의 50%:', 50 / 100) # 0.5
print('100의 50%:', 50 / 100 * 100)
print('100의 10%:', 100 * 0.1)
print('100의 1%:', 100 * 0.01)
print('100의 0.5%:', 100 * 0.005)
.....
print("0 % 3 =", 0 % 3)
print("3 % 3 =", 3 % 3) # 나머지
print("9 / 3 =", 9 / 3) # 3.0
print("10 / 3 =", 10 / 3)
print("10 // 3 =", 10 // 3) # 몫
y = 2019
y = y + 1
# y++ # 지원 안함.
y += 1
print("year=", y)
6. Library Reference
1. Python API 참조하기
- https://docs.python.org/3/library/index.html
- https://www.w3schools.com