본문 바로가기
교재 리뷰/뇌를 자극하는 파이썬3

뇌를 자극하는 파이썬3 - 4. 데이터 다루기: 수와 텍스트와 비트

by 펄서까투리 2019. 10. 21.

# 세줄요약 #

1. 변수(Variable)는 데이터를 담는 메모리 공간을 의미하며 변수에는 수, 텍스트, 목록이나 이미지 데이터 등도 담을 수 있다.

- 변수에 데이터를 담아서 연산의 재료로 활용하거나 결과를 담는 용도로 사용

- 컴퓨터 프로그래밍의 데이터 분류 체계인 자료형(Data Type)이 프로그램 실행 시 또는 실행 전에 작동하는 지에 따라 동적형식언어(Dynamic typed language)와 정적형식언어(Static typed language)로 분류된다.

- 파이썬은 프로그램 실행 시에 자료형을 판단하는 동적 형식 언어이다.

#code block#

a = 20
b = 30
a + b # 변수 a, b를 연산의 재료로 활용
c = a + 20 # 변수 c에 연산의 결과를 저장. 

type('hello') # 문자열 'hello'의 자료형 출력
type(c) # 변수 c의 자료형 출력

Python Data Types [Ref. https://www.w3schools.com/python/python_datatypes.asp]

2. 파이썬에서는 정수, 실수, 복소수 세 종류의 수를 가지고 사칙연산과 다양한 함수와 모듈을 이용하여 연산이 가능하다.

- 파이썬에서는 세 종류의 수를 지원: 정수(int), 실수(float), 복소수(complex)

- 비트: 0과 1만으로 이루어진 컴퓨터가 데이터를 다루는 가장 작은 기본 단위(0과 1로만 이루어졌기에 비트는 2진수).

- 파이썬에서 다루는 데이터의 기본단위는 비트가 8개가 담긴 Byte(바이트)이다(ex. int8 = -128 ~ 127 ; 1 Byte 크기의 정수 데이터, 2^8=256인데 음수부터 양수까지 포함이므로 -128부터 127까지 표현가능).

#code block#
a = 32   # type(a) -> 'int'
b = 3.14   # type(b) -> 'float'
c = 2 -5j   # type(c) -> 'complex' (* 허수 단위로 'j'를 사용하는 것에 주의)

- 사칙연산 기호

연산 기호
더하기 +
빼기 -
곱하기 *
나누기 /
나눗셈의 몫 구하기 //
나눗셈의 나머지 구하기 %

- 다양한 연산 함수 (* 내장함수: 파이썬 인터프리터에 탑재되어 import없이 사용할 수 있는 함수)

함수 설명 비고
abs() 절대값 계산 내장 함수
round() 반올림 계산 내장 함수
trunc() 버림 계산 math 모듈
factorial() 팩토리얼 계산 math 모듈
degrees() 라디안 -> 도(º) math 모듈
radians() 도(º) -> 라디안 math 모듈
cos() 코사인 함수(라디안 입력) math 모듈
sin() 사인 함수(라디안 입력) math 모듈
tan() 탄젠트 함수(라디안 입력) math 모듈
acos() 코사인 역함수 math 모듈
asin() 사인 역함수 math 모듈
atan() 탄젠트 역함수 math 모듈
** 제곱 연산 연산자
pow() 제곱 연산 math 모듈
sqrt() 제곱근 연산 math 모듈
log(a, b) 밑수가 b인 a의 로그값 계산 math 모듈
log10() 밑수가 10인 로그 계산 math 모듈

 

3. 파이썬에서는 텍스트를 다루는 자료형으로 '문자열(string)'을 사용하며, 문자열 자료형 안에 내장된 문자열 메소드(특정 자료형이 갖고 있는 함수)를 사용하여 텍스트를 다룬다. 

- 문자열 데이터는 작은 따옴표 (') 또는 큰 따옴표 (")의 쌍으로 텍스트틀 감싸서 표현한다.

- 여러 줄로 이루어진 문자열은 따옴표(''' or """) 3개의 쌍으로 텍스트를 감싸서 표현한다.

#code block#
a = 'hello world'   # type(a) = 'string'
b = """ 펄서까투리의
세줄요약
블로그"""   # type(b) = 'string'

- 메소드: 특정 자료형이 가지고 있는 함수로 자료형 뒤에 .을 붙이고 바로 사용 가능하다.

#code block#

a = 'hello, pulsar, kkaturi'

b = a.split(',')
# [output]: b = ['hello', ' pular', ' kkaturi']

a = 'my name is {}. I am {} years old'.format('pulsar-kkaturi', 29)
# [output]: a = 'my name is pulsar-kkaturi. I am 29 years old'
메소드 설명 예시 (a='hello')
startswith() 원본 문자열이 매개변수로 입력한 문자열로 시작되는지 판단 >>> a.startswith('he') ; => True
endswith() 원본 문자열이 매개변수로 입력한 문자열로 끝나는지 판단 >>> a.endswith('he') ; => False
finid() 원본 문자열 안에 매개변수로 입력한 문자열이 존재하는 위치를 앞에서부터 참음 >>> a.find('ll') ; => 2
rfind() 원본 문자열 안에 매개변수로 입력한 문자열이 존재하는 위치를 뒤에서부터 참음 >>> a.find('lo') ; => 3
count() 원본 문자열 안에 매개변수로 입력한 문자열이 몇번 등장하는지 셈 >>> a.count('l') ; => 2
replace() 원본 문자열에서 찾고자 하는 문자열을 바꾸고자 하는 문자열로 변경 >>> a.replace('llo', 'lium') ; => helium
split() 매개변수로 입력한 문자열을 기준으로 원본 문자열을 나눠 리스트를 만듭니다. * 위의 코드블록 참고
format() 문자열 안에 중괄호 {}로 데이터가 들어갈 자리를 만들고 format 함수의 매개변수로 데이터를 넣어주면 원하는 형식의 문자열을 만들 수 있다. * 위의 코드블록 참고

- 내장 함수 input()을 사용하면 문자열 자료형으로 데이터를 받아들임으로 연산을 위해서는 수 데이터로 바꿔줘야 한다.

#code block#
a = input()
b = input()
result = a * b # 문자열은 곱할 수 없기에 에러 발생
result = int(a) * int(b) # int() 함수를 사용하여 문자열을 정수로 바꿔줘서 연산 가능

 

* 출처: 뇌를 자극하는 파이썬3 / 박상현 / 한빛미디어

728x90
728x90

댓글