본문 바로가기
Python

파이썬 자료형 (1) - 숫자형, 문자형

by Daisy_On 2020. 9. 21.

560



1. 숫자형

숫자로 이루어진 자료형으로, 정수형(integer)과 실수형(float)이 있다.

정수형은 보통 10진수를 사용하지만 8진수와 16진수로도 표현 가능하다.

실수형은 소수점이 포함된 자료형으로 컴퓨터식 지수 표현 방식(1.234E-10)도 가능하다.

ex) 1.234E-10=1.234*10^-10

 

* 8진수와 16진수

더보기

*8진수(Octal)

0o또는 0O (숫자 0과 알파벳 o,O)로 시작.

ex) a=Oo123

 

*16진수(Hexadecimal)

0x로 시작.

ex) a=0x8ff

 

2. 문자열(string, str)

문자, 단어 등으로 구성된 문자들의 집합.

하나 이상의 숫자나 문자 등을 ' 또는 " 로 묶어서 사용한다.

 

문자열에 따옴표를 포함시키고 싶은 경우,

'를 포함시키고싶다면 ", "를 포함시키고싶다면 '를 사용한다.

ex) a = "I'm Daisy"

또는 백슬래시(\)를 사용하면 ' 또는 " 를 기호가 아니라 문자 자체로 인식하게 된다.

ex) a = 'I\'m Daisy'

 

여러 줄을 변수에 대입하고 싶은 경우,

연속된 따옴표 3개 (''' 또는 """) 를 사용한다.

ex) a='''

I'm Daisy.

I like music.

'''

또는 이스케이프 코드(줄바꿈 문자 \n)를 사용해도 된다.

ex) a="I'm Daisy. \n I like music."

 

*이스케이프 코드

더보기
\n 문자열 안에서 줄을 바꿀 때 사용
\t 문자열 사이에 탭 간격을 줄 때 사용
\ 다음에 오는 문자를 그대로 사용
\r 캐리지 리턴(줄바꿈 문자, 현재 커서를 가장 앞으로 이동)
\f 폼 피드(줄 바꿈 문자, 현재 커서를 다음 줄로 이동)
\a 벨 소리(출력할 때 PC 스피커에서 삑 소리가 남)
\b 백 스페이스
\000 널 문자

 

* 문자열 연산

문자열끼리 합치려면 +, 같은 문자열을 반복하려면 *을 이용한다.






print(d)

AAA

 

* 문자열 인덱싱과 슬라이싱

0부터 시작하며 문자 하나하나에 인덱스를 붙여주어 원하는 위치에 있는 문자를 뽑아낼 수 있다.

음수를 사용하면 역순으로 인덱싱이 가능하다. (-1이 맨 끝)



print(a[-1])

n

 

한 문자씩 뽑아낼 수도 있지만, 원하는 구간을 뽑아낼 수도 있다.

[시작번호:끝번호] 이며, 끝 번호는 포함하지 않는다.

시작을 생략하면 처음부터, 끝번호를 생략하면 맨 마지막까지를 의미한다.

인덱싱과 마찬가지로 마이너스 기호를 사용할 수 있다.



a[1:-2]

bcde

 

* 문자열 포매팅(Formatting)

문자열 내에 어떤 값을 삽입하는 방법으로 문자열 % 변수 로 표현한다.

문자열 안에 여러 개의 값을 넣는 것도 가능하다.





print("I want %d %s." % (n, a))

I want 10 bananas

 

문자열 내에 삽입할 수 있는 포맷 코드는 다음과 같다.

그냥 %s만 써도 string으로 변환해서 넣어준다.

%s 문자열(string)
%c 문자(character)
%d 정수(integer)
%f 부동소수(floating-point)
%o 8진수
%x 16진수
%% 문자 % 자체

 

* 정렬과 소수점 표현

%다음에 숫자를 쓸 경우, 전체 길이를 지정해준다.

문자열(%s)의 경우 오른쪽 정렬이 되고, 음수를 쓸 경우 왼쪽 정렬이 된다.


"%-10sjane." % 'hi'

'hi        jane."    #hi + 8칸 공백 + jane.

소수점의 경우 %전체길이.소수점이하자리수f 로 표시한다.

반올림 되어 표시되며, 전체 길이는 상관없는 경우 0으로 해준다. 

전체 길이는 소수점(.) 포함 길이이며, string과 마찬가지로 오른쪽 정렬이 된다.

마이너스를 사용하면 string과 마찬가지로 왼쪽 정렬이 된다.


"%10.4f" % 3.141592

    3.1416  # 4칸 공백 + 3.1415(길이 6개)

 

* format 함수를 사용한 formatting

문자열.format() 형태로 사용 가능하다.

숫자 값을 가진 변수를 사용할 수도 있고, 이름으로 넣을 수도 있다.

두 가지 혼용해서 사용도 가능하다.


"I ate {number} apples. so I was sick for {day} days.".format(number=10, day=3)

I ate 10 apples. so I was sick for 3 days.

 

정렬과 공백 채우기, 소수점 표현 또한 가능하다.

정렬할 때, : 다음에 문자를 쓰면 그 문자로 공백이 채워진다.

:< 왼쪽 정렬
:> 오른쪽 정렬
:^ 가운데 정렬
:(지정한문자)<,>,^ 공백 채우기
:전체길이.소수점이하자릿수f 소수점 표현
{{ 또는 }} { 또는 }



"{{ and }}".format()



{ and }

 

* f 문자열 포매팅 (파이썬 3.6버전 이상)

문자열 앞에 f 접두사를 붙이면 formatting 기능을 사용할 수 있다.

표현식(문자열 안에서 변수에 +, - 같은 수식을 사용하는 것)도 사용 가능하다.



f'나의 이름은 {name} 입니다. 나이는 {age} 입니다. 나는 내년에 {age+1}살이 됩니다.'
나의 이름은 홍길동 입니다. 나이는 30 입니다. 나는 내년에 31살이 됩니다.

 

딕셔너리(key와 value를 한 쌍으로 갖는 자료형)도 사용 가능하다.

format함수에서 사용한 정렬 방식도 사용 가능하다.


f'{"Hi":!<4} 나의 이름은 {d["name"]입니다. 나이는 {d["age"]}입니다.'
Hi!! 나의 이름은 홍길동입니다. 나이는 30입니다.

 

* 문자열 관련 함수

문자열 내장 함수를 사용하려면 변수이름 뒤에 .을 붙이고 함수이름을 써주면 된다.

a='Python' , b='  hi  ' 을 예로 아래 예시를 작성하였다.

함수이름 용도 예시
count 문자 개수 새기
'1'
find
(존재하지 않으면 -1 반환)

'0'
index
(존재하지 않으면 에러)

'1'
join 문자열 삽입
'P,y,t,h,o,n'
upper 소문자를 대문자로 바꾸기
'PYTHON'
lower 대문자를 소문자로 바꾸기
'python'
lstrip 왼쪽 공백 지우기
'hi  '
rstrip 오른쪽 공백 지우기
'  hi'
strip 양쪽 공백 지우기
'hi'
replace 문자열 바꾸기
'Pycharm'
split


list로 반환.


['Life', 'is', 'too', 'short']

 

 

* 참고자료

- 회사 교육자료

- 점프 투 파이썬

댓글