"로 양쪽 둘러싸기"Hello World"'로 양쪽 둘러싸기'Python is fun'"""으로 써서 양쪽 둘러싸기"""Life is too short, You need python"""'''Life is too short, You need python'''\를 사용해서 작은따옴표(')와 큰따옴표(")를 문자열에 포함시키기>>> food = 'Python\'s favorite food is perl'
>>> say = "\"Python is very easy.\" he says."작은따옴표(')나 큰따옴표(")를 문자열에 포함시키는 또 다른 방법은 백슬래시\를 사용하는 것이다. 즉 백슬래시\를 작은따옴표(')나 큰따옴표(") 앞에 삽입하면 백슬래시\ 뒤의 작은따옴표(')나 큰따옴표(")는 문자열을 둘러싸는 기호의 의미가 아니라 문자 ('), (") 그 자체를 뜻하게 된다.
>>> multiline = "Life is too short\nYou need python">>> multiline='''
... Life is too short
... You need python
... '''
>>> multiline='''
... Life is too short
... You need python
... '''>>> print(multiline)
Life is too short
You need python파이썬에서는 문자열을 더하거나 곱할 수 있다. 다른 언어에서는 쉽게 찾아볼 수 없는 재미있는 기능으로, 우리 생각을 그대로 반영해 주는 파이썬만의 장점이라고 할 수 있다.
>>> head = "Python"
>>> tail = " is fun!"
>>> head + tail
'Python is fun!'>>> a = "python"
>>> a * 2
'pythonpython'print("=" * 50)
print("My Program")
print("=" * 50)실행값
C:\Users>cd C:\doit
C:\doit>python multistring.py
==================================================
My Program
==================================================>>> a = "Life is too short"
>>> len(a)
17인덱싱(Indexing)이란 무엇인가를 "가리킨다"는 의미이고, 슬라이싱(Slicing)은 무엇인가를 "잘라낸다"는 의미이다. 이런 의미를 생각하면서 다음 내용을 살펴보자.
>>> a = "Life is too short, You need Python"
위 소스 코드에서 변수 a에 저장한 문자열의 각 문자마다 번호를 매겨 보면 다음과 같다.
Life is too short, You need Python
0         1         2         3 
0123456789012345678901234567890123>>> a = "Life is too short, You need Python"
>>> a[3]
'e'a[3]이 뜻하는 것은 a라는 문자열의 네 번째 문자 e를 말한다.
>>> a = "Life is too short, You need Python"
>>> a[0]
'L'
>>> a[12]
's'
>>> a[-1]
'n'a[-1]은 뒤에서부터 세어 첫 번째가 되는 문자를 말한다.
>>> a = "Life is too short, You need Python"
>>> a[0:4]
'Life'a[0:4]가 뜻하는 것은 문장에서 자리 번호 0부터 4까지의 문자를 뽑아낸다는 뜻이다.
슬라이싱 기법으로 a[시작 번호:끝 번호]를 지정할 때 끝 번호에 해당하는 것은 포함하지 않기 때문이다. a[0:3]을 수식으로 나타내면 다음과 같다.
0 <= a < 3a[시작 번호:끝 번호]에서 끝 번호 부분을 생략하면 시작 번호부터 그 문자열의 끝까지 뽑아낸다.
>>> a[19:]
'You need Python'a[시작 번호:끝 번호]에서 시작 번호를 생략하면 문자열의 처음부터 끝 번호까지 뽑아낸다.
>>> a[:17]
'Life is too short'>>> a = "20010331Rainy"
>>> date = a[:8]
>>> weather = a[8:]
>>> date
'20010331'
>>> weather
'Rainy'>>> "I eat %d apples." % 3
'I eat 3 apples.'여기에서 %d는 문자열 포맷 코드라고 부른다.
>>> "I eat %s apples." % "five"
'I eat five apples.'문자열을 넣기 위해서는 %s를 써야 한다
>>> number = 3
>>> "I eat %d apples." % number
'I eat 3 apples.'>>> number = 10
>>> day = "three"
>>> "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 % (문자 % 자체)%s 포맷 코드는 떤 형태의 값이든 변환해 넣을 수 있다.
>>> "I have %s apples" % 3
'I have 3 apples'
>>> "rate is %s" % 3.234
'rate is 3.234'>>> "Error is %d%%." % 98
'Error is 98%.'>>> "%10s" % "hi"
'        hi'전체 길이가 10개인 오른쪽 정렬
>>> "%10s" % "hi"
'        hi'왼쪽정렬
>>> "%0.4f" % 3.42134234
'3.4213'소수점 네 번째 자리까지만 나타내고 싶은 경우
>>> "%10.4f" % 3.42134234
'3.4213'소수점 네 번째 자리까지만 표시하고 전체 길이가 10개인 문자열 공간에서 오른쪽으로 정렬하는 예
숫자바로 대입하기 
>>> "I eat {0} apples".format(3)
'I eat 3 apples'
문자열 바로 대입하기 
>>> "I eat {0} apples".format("five")
'I eat five apples'
숫자 값을 가진 변수로 대입하기 
>>> number = 3
>>> "I eat {0} apples".format(number)
'I eat 3 apples'
2개 이상의 값 넣기 
>>> number = 10
>>> day = "three"
>>> "I ate {0} apples. so I was sick for {1} days.".format(number, day)
'I ate 10 apples. so I was sick for three days.'
이름으로 넣기 
>>> "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.'
왼쪽 정렬 
>>> "{0:<10}".format("hi")
'hi     
오른쪽 정렬
>>> "{0:>10}".format("hi")
'        hi'
가운데 정렬
>>> "{0:^10}".format("hi")
'    hi 
공백 채우기 
>>> "{0:=^10}".format("hi")
'====hi===='
>>> "{0:!<10}".format("hi")
'hi!!!!!!!!'
소수점 표현하기 
>>> y = 3.42134234
>>> "{0:0.4f}".format(y)
'3.4213'파이썬 3.6 버전부터는 f 문자열 포매팅 기능을 사용할 수 있다
>>> name = '홍길동'
>>> age = 30
>>> f'나의 이름은 {name}입니다. 나이는 {age}입니다.'
'나의 이름은 홍길동입니다. 나이는 30입니다.'f 문자열 포매팅은 표현식을 지원하기 때문에 다음과 같은 것도 가능하다.
※ 표현식이란 문자열 안에서 변수와 +, -와 같은 수식을 함께 사용하는 것을 말한다.
>> age = 30 >> f'나는 내년이면 {age+1}살이 된다.' '나는 내년이면 31살이 된다.'딕셔너리는 f 문자열 포매팅에서 다음과 같이 사용할 수 있다.
※ 딕셔너리는 Key와 Value라는 것을 한 쌍으로 갖는 자료형이다. 02-5에서 자세히 알아본다.>> d = {'name':'홍길동', 'age':30} >> f'나의 이름은 {d["name"]}입니다. 나이는 {d["age"]}입니다.' '나의 이름은 홍길동입니다. 나이는 30입니다.'
정렬 
>>> f'{"hi":<10}'  # 왼쪽 정렬
'hi        '
>>> f'{"hi":>10}'  # 오른쪽 정렬
'        hi'
>>> f'{"hi":^10}'  # 가운데 정렬
'    hi    '
공백 채우기
>>> f'{"hi":=^10}'  # 가운데 정렬하고 '=' 문자로 공백 채우기
'====hi===='
>>> f'{"hi":!<10}'  # 왼쪽 정렬하고 '!' 문자로 공백 채우기
'hi!!!!!!!!'
f 문자열에서 { } 문자를 표시하려면 다음과 같이 두 개를 동시에 사용해야 한다.
>>> f'{{ and }}'
'{ and }'>>> a = "hobby"
>>> a.count('b')
2>>> a = "Python is the best choice"
>>> a.find('b')
14
>>> a.find('k')
-1>>> 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앞의 find 함수와 다른 점은 문자열 안에 존재하지 않는 문자를 찾으면 오류가 발생
>>>> ",".join('abcd')
'a,b,c,d'>>> a = "hi"
>>> a.upper()
'HI'>>> a = "HI"
>>> a.lower()
'hi'>>> a = "Life is too short"
>>> a.replace("Life", "Your leg")
'Your leg is too short'>>> a = "Life is too short"
>>> a.split()
['Life', 'is', 'too', 'short']
>>> b = "a:b:c:d"
>>> b.split(':')
['a', 'b', 'c', 'd']
글 잘 읽었습니다.
https://codeup.kr/problemsetsol.php?psid=33 위 링크에 파이썬 문자열을 이용한 문제들이 많이 있으니 한번씩 풀어보세요