문자열의 종류는 총 4가지
1. 큰따옴표로 양쪽 둘러싸기 "Hello World"
2. 작은따옴표로 양쪽 둘러싸기 'Hello World'
3. 큰따옴표 3개를 연속으로 써서 양쪽 둘러싸기 """Hello World"""
4. 작은따옴표 3개를 연속으로 써서 양쪽 둘러싸기 '''Hello World'''
Q. 왜 4종류씩이나 사용해서 문자열을 만드는 것인가?
A. 문자열 안에 또 다른 문자열을 품기 위해서라고 이해하는 편이 쉽다.
즉 오류를 없애기 위한 꼼수!
>>> say = '"Python is very easy." he says.'
A. 여러 줄인 문자열을 변수에 대입하고 싶을 때 ''', """ 을 사용해서 해결하자!
>>> multiline='''
... Life is too short
... You need python
... '''
>>> print(multiline)
Life is too short
You need python
Skill 모음
1. 문자열 더하기 곱하기
>>> head = "Python"
>>> tail = " is fun!"
>>> head + tail
'Python is fun!'
>>> a = "python"
>>> a * 2
'pythonpython'
2. 문자열 길이 구하기
>>> a = "Life is too short"
>>> len(a)
17
3. 문자열 인덱싱
"파이썬은 0부터 숫자를 센다."
>>> a = "Life is too short, You need Python"
>>> a[0]
'L'
>>> a[12]
's'
>>> a[-1]
'n'
4. 문자열 슬라이싱
a[0:3] ---> 0 <= a < 3
>>> a = "Life is too short, You need Python"
>>> b = a[0] + a[1] + a[2] + a[3]
>>> b
'Life'
>>> a = "20230331Rainy"
>>> date = a[:8]
>>> weather = a[8:]
>>> date
'20230331'
>>> weather
'Rainy'
5. 문자열 포매팅
문자열 포매팅이란 문자열 안에 어떤 값을 삽입하는 방법
>>> "I eat %d apples." % 3
'I eat 3 apples.'
>>> "I eat %s apples." % "five"
'I eat five 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 % (문자 % 자체) |
6. 포맷 코드와 숫자 함께 사용하기
- 정렬과 공백
%10s
전체 길이: 10개인 문자열 공간
정렬 기준: 오른쪽 [ -> ]
*그 앞의 나머지는 공백으로 남김
%-10s
전체 길이: 10개인 문자열 공간
정렬 기준: 오른쪽 [ <- ]
*그 뒤의 나머지는 공백으로 남김
>>> "%10s" % "hi"
' hi'
--------------------
>>> "%-10sjane." % 'hi'
'hi jane.'
-소수점 표현하기
%0.4f에서 ‘ . ’는 소수점 포인트, 그 뒤의 숫자 4는 소수점 뒤에 나올 숫자의 개수
>>> "%0.4f" % 3.42134234
'3.4213'
7. format 함수를 사용한 포매팅
>>> "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'
>>> 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!!!!!!!!'
-소수점 표현
자릿수 컨트롤 가능 {0:자릿수.4f}
>>> "{0:10.4f}".format(y)
' 3.4213'
- {문자열}을 포매팅 말고 그냥 쓰고 싶다면?
>>> "{{ and }}".format()
'{ and }'
8. f 문자열 포매팅
< 파이썬 3.6 버전부터는 f 문자열 포매팅 기능을 사용할 수 있다. >
>>> name = '홍길동'
>>> age = 30
>>> f'나의 이름은 {name}입니다. 나이는 {age}입니다.'
'나의 이름은 홍길동입니다. 나이는 30입니다.'
9. 문자열 관련 함수들
문자 개수 세기 - count
>>> a = "hobby"
>>> a.count('b')
2
위치 알려 주기 1 - find
>>> a = "Python is the best choice"
>>> a.find('b')
14
>>> a.find('k')
-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
문자열 삽입 - join
>>> ",".join('abcd')
'a,b,c,d'
소문자를 대문자로 바꾸기 - upper
>>> a = "hi"
>>> a.upper()
'HI'
대문자를 소문자로 바꾸기 - lower
>>> a = "HI"
>>> a.lower()
'hi'
왼쪽 공백 지우기 - lstrip
>>> a = " hi "
>>> a.lstrip()
'hi '
오른쪽 공백 지우기 - rstrip
>>> a= " hi "
>>> a.rstrip()
' hi'
양쪽 공백 지우기 - strip
>>> a = " hi "
>>> a.strip()
'hi'
문자열 바꾸기 - replace
>>> a = "Life is too short"
>>> a.replace("Life", "Your leg")
'Your leg is too short'
문자열 나누기 - split
>>> a = "Life is too short"
>>> a.split()
['Life', 'is', 'too', 'short']
>>> b = "a:b:c:d"
>>> b.split(':')
['a', 'b', 'c', 'd']
'이론 (Python)' 카테고리의 다른 글
2-1. Python_ 숫자형 (0) | 2024.06.27 |
---|---|
2. Python_ 자료형 (0) | 2024.06.27 |
1-5. Python_ Anaconda navigator 설치하기 (0) | 2024.06.25 |
1-4. Python_쉽게 설치하기 (0) | 2024.06.25 |
1-3. Python_할 수 있는 것/ 할 수 없는 것 (0) | 2024.06.25 |