파이썬에서 문자열을 다음과 같이 4가지 방법으로 만들 수 있습니다.
'hello world'
"hello world"
'''hello world'''
"""hello world"""
''' 와 """ 은 여러 문자열을 입력할 수 있습니다.
인덱싱(indexing)과 슬라이싱(slicing)
>>> s = 'hello world' >>> print(s[0], s[1], s[2], s[-1], s[1:4]) h e l d ell
s[1] 을 인덱싱(indexing), s[1:4] 를 슬라이싱(slicing)이라고 부릅니다.
문자열 관련 연산
>>> s = 'hello world' >>> print(s * 2) hello worldhello world >>> print('hello' in s) True
java 같은 언어에서는 'hello world'를 두 번 출력하려면 for문이나 while문 같은 loop문을 수행해야 되지만 python에서는 s * 2 로 간단히 출력할 수 있습니다.
또 'hello' in s 으로 해당 문자열이 있는지 검증할 수 있습니다.
문자열 포맷
>>> print('name : {0}, age : {1}'.format('hong', 29)) name : hong, age : 29 >>> print('name : {}, age : {}'.format('hong', 29)) name : hong, age : 29 >>> print('name : {name}, age : {age}'.format(name='hong', age=29)) name : hong, age : 29 >>> print('name : %s, age : %d' % ('hong', 29)) name : hong, age : 29
python 에서는 다양한 방법으로 포맷을 지정할 수 있습니다.
첫 번째로 {} 으로 포맷을 지정할 수 있는데 {0}, {1} 과 같이 숫자를 지정하여 포맷을 줄 수 있으며
숫자를 빼고 {}, {} 와 같이 쓰게 되면 파이썬이 알아서 넣어 줍니다.
{name} 과 같이 변수명을 지정하여 포맷을 지정할 수도 있습니다.
C의 printf와 비슷하게 방식으로 포맷을 지정할 수 있는데
이 때는 문자열 끝에 % 을 붙이고 변수나 값을 넣어줍니다.
2진수, 8진수, 16진수 진법 변환 포맷
>>> print('{0:b} {0:o} {0:x} '.format(100)) 1100100 144 64 >>> print('{0:#b} {0:#o} {0:#x}'.format(100)) 0b1100100 0o144 0x64 >>> print('%d %o %x' % (100, 100, 100)) 100 144 64
문자열 관련 함수
>>> s = ' hello ' >>> print(s.lstrip()) hello >>> print(s.rstrip()) hello >>> print(s.strip()) hello >>> print('<[unbracketed]>'.strip('[](){}<>')) unbracketed >>> print(s.find('hello')) 10 >>> print(s.index('hello')) 10 >>> print(s.find('hi')) -1 >>> print(s.index('hi')) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: substring not found
join - 문자열 결합
strip - 공백제거
find - 문자열 검색 : 해당 문자열 위치 리턴 없으면 -1
index - 문자열 검색 : find와 같으나 없으면 ValueError 발생
replace - 문자열 대체
split - 문자열 분리
startswith -
endswith -
'프로그래밍 > Python' 카테고리의 다른 글
자료형3 - 리스트 (0) | 2015.04.02 |
---|---|
자료형1 - 수치형 (0) | 2015.04.01 |
Python3 설치 (0) | 2015.04.01 |