Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

BASEMENT

Python 1주차 - 1 본문

Programming/Python

Python 1주차 - 1

2_34 2020. 7. 5. 16:11

 

파이썬 소개

인터프리터 언어

객체지향 언어

 

파이썬 특징

  • 강력한 기능을 무료로 사용 : 파이썬은 오픈 소스이며, 비용을 지불하지 않고 무료로 사용 가능.
  • 읽기 쉽고 사용하기 쉬움 :직관적인 코드를 사용해 읽기 쉬움
  • 사물 인터넷과 잘 연동 : 라즈베리파이 기반의 사물인터넷이 파이썬을 잘 지원하므로 사물인터넷 개발 및 운영에 적극 활용
  • 외부 라이브러리들이 풍부 : 파이썬 제공 라이브러리 + 외부에서 제공하는 서드 파티(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
Comments