BASEMENT
Python 1주차 - 1 본문
파이썬 소개
인터프리터 언어
객체지향 언어
파이썬 특징
- 강력한 기능을 무료로 사용 : 파이썬은 오픈 소스이며, 비용을 지불하지 않고 무료로 사용 가능.
- 읽기 쉽고 사용하기 쉬움 :직관적인 코드를 사용해 읽기 쉬움
- 사물 인터넷과 잘 연동 : 라즈베리파이 기반의 사물인터넷이 파이썬을 잘 지원하므로 사물인터넷 개발 및 운영에 적극 활용
- 외부 라이브러리들이 풍부 : 파이썬 제공 라이브러리 + 외부에서 제공하는 서드 파티(third party) 라이브러리 사용 가능
단점
- 느린속도 : 컴파일러 언어가 아닌 스크립트 언어이기 때문에 컴파일러 언어보다 느림
- 모바일 분야 지원이 약함
파이썬 변수와 자료형
변수 (variable) : 프로그램 상에 변화하는 값을 저장하는 공간
ex) num = 100
파이썬의 변수는 무한정. overflow가 없음
파이썬에서 변수에 값 할당은 binding 개념
ex) num=5, poing=5 일때 5라는 값을 저장하여 공유함
변수명 규칙
- 대,소문자 구별
- 문자, 숫자, 특수문자 중 ' _ ' 만 사용 가능
- 첫 글자로 숫자 사용 불가능
- 예약어는 변수명으로 사용 불가능
ex) True, False, none, and, or, not, break, continue, return if, else, elif, for, while, except, finally, gloval, import, try
변수의 자료형 확인
- type() 함수 : 변수 및 상수값의 자료형을 확인하는 내장 함수
- type(상수값), type(변수이름) ex) type(100) , type(strVar)
출력함수(print) 사용법
%-formatting, str.format, f-string 함수 사용
1) %-formatting : %d, %f 등
print("%d + %d = %d % (a,b,result))
2) str.format
print("{:d} + {:d} = {:d}".format(a,b,result))
3) f-string
print(f'{a} + {b} = {result}')
예제
a = 100; b = 50
result = a / b
print(a, "/", b, "=", result)
print("%d / %d = %f" % (a,b,result))
print("{:d} / {:d} = {:f}".format(a,b,result))
print("%d / %d = %.2f" % (a,b,result))
print("{:d} / {:d} = {:.2f}".format(a,b,result))
print(f'{a} / {b} = {result:.2f}') # .2 는 소수점 둘째자리까지 나타냄
입력함수(input) 사용법
변수이름 = input("입력 코멘트")
py파일 실행 시 사용자가 직접 입력하게 만드는 함수
입력되는 값은 모두 문자열 -> ' ' 적용 해주기
입력된 값을 문자열에서 정수 또는 실수로 변환이 필요할 때
-> 변환함수 int() , float() 사용. 정수 또는 실수를 문자열로 변환 시 str() 사용
예제
num1 = int(input("Enter first number>>"))
num2 = int(input("Enter second number>>"))
result = num1 + num2
num1 = input("Enter first number>>") # 입력할때마다 result에 int 적용 필요
num2 = input("Enter second number>>")
result = int(num1) + int(num2) # result = num1 - num2 추가시 int 적용 필요
파이썬 변수의 기본 자료형
1. 정수형 (int)
자료형의 크기에 제한 x
서식 : %d (10진수), %x (16진수), %o (8진수)
ex) num = 0o12 -> 8진수
num = 0xfff -> 16진수
num = 0b1111 -> 2진수
-> print 함수 기본 출력은 10진수
2. 실수형 (float)
부동소수점이 붙은 수. 기본형 10진수
서식 : %f
ex) num = 3.14
var = 3.14e5
print('var: %e' % var)
print('var: %.2e'% var) # 실수형을 지수형으로도 표현 가능
3. 문자열 (str)
서식 : %c (한글자), %s (두 글자 이상 문자열)
'123', 'string', "123", "string"
a = "작은따옴표는 ' 모양이다."
b = '큰따옴표는 " 모양이다.'
print(a); print(b)
a = "파이썬 언어는 \' 과 \"를 구분하지 않는다."
print(a)
a = '''파이썬 수업
1교시
'''
print(a)
- 백슬래시(\) + ' 또는 " -> 이스케이프 문자. ',"를 단순 문자로 인식함
- 백슬래시(\) + n -> 줄바꿈
- """ """ -> 여러줄 줄바꿈
문자열의 산술연산자는 + 와 *
- + 는 두 문자열을 연결
- * 는 문자열을 곱해주는 정수만큼 반복 생성
a = "Python";
print(a + ' Hello')
print(a*5)
4. 불형 (bool)
True, False 만 저장
my_var = (5 == 5)
you_var = (5 > 10)
print(my_var, you_var)
-> Bool 자료형은 관계연산자 또는 논리연산자의 결과 True, False 저장하는데 사용
데이터 표현 단위와 진수 변환
1. 비트(bit)와 바이트(byte)
컴퓨터의 메모리 단위
- 비트 : 가장 작은 메모리 단위. 1비트는 0또는 1만 저장 가능
- 바이트 : 메모리의 기본단위로 8비트 = 1바이트
2. 진법
값을 표현할 때 단위기호의 사용 개수 여부
진법의 종류 : 10진법, 2진법, 8진법, 16진법
3. 진수 변환
1) 10진수 -> 2, 8, 16진수
바꾸고자 하는 진수로 10진수를 나누어 몫이 0이 될 때까지 반복 수행
2) 2, 8, 16진수 -> 10진수
각 자리값과 자리계수 곱의 환산
3) 2진수 -> 8, 16진수
8진수 : 2진수의 자리를 3자리로 잘라서 변환
16진수 : 2진수의 자리를 4자리로 잘라서 변환
4) 16진수 -> 2진수
16진수의 각 자리별 수를 2진수 4자리로 표현
4. 파이썬 진수와 관련된 함수
함수 결과는 모두 string
2진수 : bin() 접두사 0b
8진수 : oct() 접두사 0o
16진수 : hex() 접두사 0x
예제
sel = int(input("입력 진수 결정(16/10/8/2): "))
num = input("값 입력: ")
if sel == 16:
num10 = int(num,16) # 10진수로 변환하되, 변환시키는 정수의 진법을 입력
if sel == 10:
num10 = int(num,10)
if sel == 8:
num10 = int(num,8)
if sel == 2:
num10 = int(num,2)
print("16진수 -> ", hex(num10))
print("10진수 -> ", num10)
print("8진수 -> ", oct(num10))
print("2진수 -> ", bin(num10))
결과
입력 진수 결정(16/10/8/2) : 16
값 입력 : ff
16진수 : 0xff
10진수 : 255
8진수 : 0o377
2진수 : 0b11111111
'Programming > Python' 카테고리의 다른 글
Python 3주차 - 2 (0) | 2020.07.12 |
---|---|
Python 3주차 - 1 (0) | 2020.07.12 |
Python 2주차 - 2 (0) | 2020.07.11 |
Python 2주차 - 1 (0) | 2020.07.11 |
Python 1주차 - 2 (0) | 2020.07.09 |