[ 숫자형 ]
정수형(integer) : 양의 정수와 음의정수,0
>>> a = 5
실수형(Floating-point) : 소수점이 포함된 숫자
>>> a = -2.5
- 실수형의 소수점 표현방식 : E or e 뒤에 n값을 붙이면 *10^n으로 표현된다.
>>> a = 4.24e-10
위의 결과는 4.24*10^-10과 같다.
8진수(Octal)와 16진수(Hexadecimal) : 8진수는 0o 또는 0O (숫자 0 + 알파벳 o or O)로 시작하면되고 16진수는 0x로 시작하면 된다.
>>> a = 0o156
>>> a = 0x6af
[ 문자열 자료형 ]
문자열 만드는 법
1. " 로 양쪽 둘러싸기
"Hello World"
2. ' 로 양쪽 둘러싸기
'Hello World'
3. " 3개를 연속으로 써서 양쪽 둘러싸기
"""Hello World"""
4. ' 3개를 연속으로 써서 양쪽 둘러싸기
'''Hello World'''
문자열 안에 ' 이나 " 포함시키기
1. 문자열에 " 포함시키기
>>> '"Hello World" is tedious'
2. 문자열에 ' 포함시키기
>>> "Hello World's power"
3. \(백슬래시)를 붙인 출력서식문자 이용
>>> "\"Hello World!\" is tedious"
여러줄인 문자열을 변수에 대입시키기
1. 이스케이프 코드 \n 삽입하기
>>> 'Hello World\nNice To Meet You'
2. 연속된 ' or " 3개 이용
>>> multiline='''
... Life is so boring
... isn't it?
... '''
문자열 연산
1. 문자열 더해서 연결하기(Concatenation)
>>> head = "Python" >>> tail = " is fun!" >>> head + tail 'Python is fun!'
2. 문자열 곱하기
>>> a = "python"
>>> a * 2 'pythonpython'직관적으로 보시다시피 반복을 의미한다.
3. 문자열 곱하기 응용
# multistring.py print("=" * 50) print("My Program")
print("=" * 50)
↓↓↓↓↓↓↓↓↓
C:\Users>cd C:\Python
C:\Python>python multistring.py
==================================================
My Program
==================================================
문자열 인덱싱
L |
i |
f |
e |
|
i |
s |
|
t |
o |
o |
s |
h |
o |
r |
t |
, |
|
Y |
o |
u |
|
N |
|
0 |
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
1 |
2 |
3 |
위와 같이 문자에 숫자를 붙이는 것이 인덱싱이다.
인덱싱 활용
문자열 슬라이싱
슬라이싱은 문자열에서 특정 문자에서 특정 문자까지를 모두 뽑아내는 기법이다. 방식은 [시작번호:끝번호]로 끝번호의 문자는 포함되지않는다.
>>> a = "Life is too short, You Need Python"
문자열 포매팅
문자열 내의 특정한 값을 바꿔야 할 경우가 있을 때 이것을 가능하게 해주는 것이 바로 문자열 포매팅 기법이다.
쉽게 말해 문자열 내에 어떤 값을 삽입하는 방법이다.
>>> "I eat %d apples." % 3
'I eat 3 apples.'
>>> "I eat %s apples." % "five"
'I eat five apples.'
>>> "I ate %d apples. so I was sick for %s days." % (number, day)
'I ate 10 apples. so I was sick for three days.'
코드 | 설명 |
---|---|
%s | 문자열 (String) |
%c | 문자 1개(character) |
%d | 정수 (Integer) |
%f | 부동소수 (floating-point) |
%o | 8진수 |
%x | 16진수 |
%% | Literal % (문자 % 자체) |
문자열 관련함수
문자열 자료형은 자체적으로 가지고 있는 함수들이 있고 이들을 문자열 내장함수라고 한다.
이 내장함수를 사용하려면 문자열 변수 이름 뒤에 '.'를 붙인 다음에 함수 이름을 써주면 된다.
문자 개수 세기(count)
>>> a = "hobby"
>>> a.count('b')
2
문자열 중 문자 b의 개수를 반환한다.
위치 알려주기1(find)
>>> a = "Python is best choice"
>>> a.find('b')
10
>>> a.find('k')
-1
문자열 중 문자 b가 처음으로 나온 위치를 반환한다. 만약 찾는 문자나 문자열이 존재하지 않는다면 -1을 반환한다.
위치 알려주기2(index)
>>> a = "Life is too short"
>>> a.index('t')
8
>>> a.index('k')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found
문자열 중 문자 t가 맨 처음으로 나온 위치를 반환한다. 만약 찾는 문자나 문자열이 존재하지 않는다면 오류를 발생시킨다. 앞의 find 함수와 다른 점은 문자열 안에 존재하지 않는 문자를 찾으면 오류가 발생한다는 점이다.
문자열 삽입(join)
>>> a= ","
>>> a.join('abcd')
'a,b,c,d'
abcd라는 문자열의 각각의 문자 사이에 변수 a의 값인 ','를 삽입한다.
소문자를 대문자로 바꾸기(upper)
>>> a = "hi"
>>> a.upper()
'HI'
upper() 함수는 소문자를 대문자로 바꾸어 준다. 만약 문자열이 이미 대문자라면 아무런 변화도 일어나지 않을 것이다.
대문자를 소문자로 바꾸기(lower)
>>> a = "HI"
>>> a.lower()
'hi'
lower() 함수는 대문자를 소문자로 바꾸어 준다.
왼쪽 공백 지우기(lstrip)
>>> a = " hi "
>>> a.lstrip()
'hi '
문자열 중 가장 왼쪽에 있는 한 칸 이상의 연속된 공백들을 모두 지운다. lstrip에서 l은 left를 의미한다.
오른쪽 공백 지우기(rstrip)
>>> a= " hi "
>>> a.rstrip()
' hi'
문자열 중 가장 오른쪽에 있는 한 칸 이상의 연속된 공백들을 모두 지운다. rstrip에서 r은 right를 의미한다.
양쪽 공백 지우기(strip)
>>> a = " hi "
>>> a.strip()
'hi'
문자열 양쪽에 있는 한 칸 이상의 연속된 공백들을 모두 지운다.
문자열 바꾸기(replace)
>>> a = "Life is too short"
>>> a.replace("Life", "Your leg")
'Your leg is too short'
replace(바뀌게 될 문자열, 바꿀 문자열)처럼 사용해서 문자열 내의 특정한 값을 다른 값으로 치환해 준다.
문자열 나누기(split)
>>> a = "Life is too short"
>>> a.split()
['Life', 'is', 'too', 'short']
>>> a = "a:b:c:d"
>>> a.split(':')
['a', 'b', 'c', 'd']
a.split()
처럼 괄호 안에 아무런 값도 넣어 주지 않으면 공백을 기준으로 문자열을 나누어 준다. 만약 a.split(':')
처럼 괄호 안에 특정한 값이 있을 경우에는 괄호 안의 값을 구분자로 해서 문자열을 나누어 준다. 이렇게 나눈 값은 리스트에 하나씩 들어가게 된다. ['Life', 'is', 'too', 'short']
나 ['a', 'b', 'c', 'd']
는 리스트라는 것인데 리스트는 향후 배울 예정이다.
'Etc > Python' 카테고리의 다른 글
#06 자료형의 참과 거짓, 변수 (0) | 2016.11.27 |
---|---|
#05 자료형-3(딕셔너리, 집합 자료형) (0) | 2016.11.27 |
#04 자료형-2(리스트, 튜플) (0) | 2016.11.24 |
#02 기초문법 (0) | 2016.11.22 |
#01 Python (0) | 2016.11.22 |