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'] |
* 참고자료
- 회사 교육자료
- 점프 투 파이썬
'Python' 카테고리의 다른 글
파이썬 함수 (2) - 사용자 정의 함수 (8) | 2020.09.26 |
---|---|
파이썬 함수 (1) - 내장함수(built-in) (0) | 2020.09.25 |
파이썬 자료형 (2) - 리스트, 튜플, 딕셔너리, 집합, 부울 (0) | 2020.09.22 |
파이썬 기초 (연산자, 조건문, 반복문, break, continue, pass 등) (2) | 2020.09.16 |
댓글