빅데이터 프로그래밍/Python

[Python] 03. 컴파일, 파이썬 프로그램의 구조, 데이터 형(date type), 연산자(Operator), Library Reference

밍글링글링 2017. 8. 2.
728x90

01. 컴파일 단계

- 컴퓨터의 구조: 현대의 Software는 대부분 프로그램을 메모리에 상주하여 실행하는 폰노이만 구조를 사용하고 있음.

- 파일 확장자: py

- 단계; Python 소스는 라인단위 변환기인 interpreter에 의하여 기계어로 바로 컴파일되어 실행됨.\

 

02. 변수

- 숫자로 시작하면 안된다.

- 파이썬 예약어는 사용 하지 못한다.

- 대소문자를 구분한다.

- 변수 선언시 데이터 타입을 선언하지 않는다.(Javascript와 동일)

- 객체 기반이라 데이터 타입 변환이 자유롭다.

- 의미 있는 변수명을 지정한다.

- 특별한 경우가 아니면 변수의 숫자는 5이상 권장.

 

03. 데이터(자료) 형(date type)

- 프로그램의 실행 흐름: 입력 기능 ▶ 처리 기능 ▶ 출력 기능

- 데이터를 입력하여 처리하고 출력하면서 메모리에 저장하며, 그 기준은 사전에 지정된 데이터 타입을 기준으로하며, 메모리를 할당하는 기준입니다.

- 파이썬은 데이터를 객체 기반의 형태로 저장하고 출력한다.

 

1. None

- 아무런 값이 없다는 것을 나타내는 기호

 

2. Boolean형

- True, False 값 사용, 첫자 대문자 주의

 

3. 정수형

- 객체 기반의 음의 정수, 양의 정수를 저장한다.

 

4. 실수형

- 소수점이 들어간 실수를 저장한다.

 

5. 문자열형

- 문자열을 저장 할 수 있으며, 여러라인도 가능하다.

 

6. 주석

1) 한라인 주석: #

2) 여러라인 주석: ''' .... ''' or """ .... """

 

7. 한글 선언: 파일의 맨위에 아래의 코드를 선언합니다.

# -*- coding: utf-8 -*-
또는
# coding=<utf-8>

 

8. 데이터 타입 실습

 

[출력화면]

sw
True
False
sw=False
char=A
movie=부산행
count=7500000
percent: 1.25
100의 100%: 100.0
100의 50%: 50.0
100의 50%: 50.0
100의 10%: 10.0
100의 1%: 1.0
100의 1.5%: 1.5
100의 1.5%: 1.5
100의 13%: 13.0

▶ Test.py
- 정수 / 정수 = 실수
-------------------------------------------------------------------------------------
# -*- coding: utf-8 -*-
'''
Created on 2017. 5. 23.
 
@author: soldesk
'''
sw = True
print("sw")
print(sw)

sw = False
print(sw)

''' 문자열 결합 '''
print("sw=" + str(sw))

char ='A'
print('char=' + char)

movie='부산행'
print('movie=' + movie)

count = 7500000
print('count=' + str(count))

percent = 1.25
print('percent=' + str(percent))

print('100의 100%: ' + str(100 * 1.0))
print('100의 50%: ' + str(100 * 0.5))
print('100의 50%: ' + str(100 * (50/100))) # 0 아님
print('100의 10%: ' + str(100 * 0.1)) 
print('100의 1%: ' + str(100 * 0.01)) 
print('100의 1.5%: ' + str(100 * 0.015)) 
print('100의 1.5%: ' + str(100 * (1.5/100))) 
print('100의 13%: ' + str(100 * (13/100))) 
-------------------------------------------------------------------------------------
 

 

04. 연산자(operator: 기사, 조작자, 데이터 조작자)

- 단항 연산자: 하나의 변수로 연산이 진행

- 산술 연산자: 사칙연산(*)

- 비교 연산자: 대소비교, 동일한지 비교(*)

- 논리 연산자: 참, 거짓 연산자(*)

- 삼항 연산자: 조건식, 참, 거짓 결합

- 대입 연산자: 값의 대입(*)

- ++, -- 없음

 

1. 산술(수치) 연산자: +, -, *(×: 곱하기), /(÷: 나누기), %(나머지, 모듈러스 연산자)

- 정수 / 정수 = 실수

 

1) 몫을 뺀 나머지 연산자, 13으로 나누었을 때의 나머지는 0 ~ 12가됨
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씩감소) XXX

 

[출력 화면]

0 % 3 = 0

1 % 3 = 1
2 % 3 = 2
3 % 3 = 0
4 % 3 = 1
5 % 3 = 2
1) 2015 년
2) 2016 년
3) 2017 년
4) 2018 년
5) 2017 년
최초의 값 val: 55.567
val: 5556.7
_val: 5556
val2: 55.56
-----------------------------
최초의 값 val: 55.567
val: 5556.7
val: 5557.2
val: 55.57
2 ** 3: 8
 
▶ Operator.py

# -*- coding: utf-8 -*-
print("0 % 3 = " + str(0%3))
print("1 % 3 = " + str(1%3))
print("2 % 3 = " + str(2%3))
print("3 % 3 = " + str(3%3))
print("4 % 3 = " + str(4%3))
print("5 % 3 = " + str(5%3))

year = 2015
print("1) " + str(year) + " 년")

year = year + 1
print("2) " + str(year) + " 년")

year = year + 1
print("3) " + str(year) + " 년")

year += 1
print("4) " + str(year) + " 년")

year -= 1
print("5) " + str(year) + " 년")

# 소수이하 둘째자리까지 출력, 반올림 안됨.
val = 55.567
print('val: ' + str(val))

val = val * 100
print('val: ' + str(val))

val2 = int(val)    # int
print('val2: ' + str(val2))

val2 = val2/100  # float
print('val2: ' + str(val2))

print("------------------------")
val = 55.567
print('val: ' + str(val))

val = (val * 100) + 0.5
print('val: ' + str(val))

val2 = int(val)    # int
print('val2: ' + str(val2))

val2 = val2/100  # float
print('val2: ' + str(val2))

  
-------------------------------------------------------------------------------------
 

 

05. Library Reference

1. Python API 참조하기

https://docs.python.org/3/library/index.html

 

728x90

댓글