파이썬 - 문자열
PYTHON PROGRAMMING 기초
STRINGS - 문자열
- 각각의 하나의 문자들이 나열된 상태, 즉 시퀀스(sequence) 이다!!!
- 문자열은, 싱글퀏이나 더블퀏 (single or double quotes)으로 감싸야 한다.
x = 'Hello World'
y = "Hello World"
x
'Hello World'
y
'Hello World'
3개의 단일 부호로 문자열을 만들 수 있다. 특히 줄을 바꿔가면서 긴 문자열 만들때 유용.
poem = '''So "it is" quite different, then, if in a mountain town
the mountains are close, rather than far. Here
they are far, their distance away established,
consistent year to year, like a parent’s
or sibling’s. They have their own music.
So I confess I do not know what it’s like,
listening to mountains up close, like a lover,
the silence of them known, not guessed at.'''
poem
'So "it is" quite different, then, if in a mountain town\nthe mountains are close, rather than far. Here\n\nthey are far, their distance away established,\nconsistent year to year, like a parent’s\n\nor sibling’s. They have their own music.\nSo I confess I do not know what it’s like,\n\nlistening to mountains up close, like a lover,\nthe silence of them known, not guessed at.'
print(poem)
So "it is" quite different, then, if in a mountain town
the mountains are close, rather than far. Here
they are far, their distance away established,
consistent year to year, like a parent’s
or sibling’s. They have their own music.
So I confess I do not know what it’s like,
listening to mountains up close, like a lover,
the silence of them known, not guessed at.
문자열을 다루는 함수들
+ 연산자는, 숫자 뿐만 아니라 문자열에서도 사용이 가능하다.
- 여러 문자열들을 결합할 수 있다.
first_name = 'Mitch'
last_name = 'Steve'
first_name + last_name
'MitchSteve'
full_name = first_name + ' ' + last_name
print(full_name)
Mitch Steve
대소문자로 바꿀수 있다.
full_name.upper()
'MITCH STEVE'
full_name.lower()
'mitch steve'
full_name.title()
'Mitch Steve'
type('Hello') == str
True
문자열을 원하는기준으로, 각각 분리해 낸다.
full_name.split('t')
['Mi', 'ch S', 'eve']
full_name.split(' ')
['Mitch', 'Steve']
full_name.split('ch')
['Mit', ' Steve']
문자 한개만 추출하기
- 순방향, 역방향 이해
letters = 'abcdefghijklmnopqrstuvwxyz'
가져온다!! 억세스한다!! => 데이터 억세스 기호는, 변수명 바로 오른쪽에, 대괄호로 시작
대괄호 안의 숫자는, 인덱스(오프셋)라고 하며, index(offset)
컴퓨터에서는 0부터 시작한다!! => 컴퓨터가 자동으로 매기는 숫자
letters[25]
'z'
letters[-3]
'x'
letters = 'qbcdefghijklmnopqrstuvwxyz'
letters
'qbcdefghijklmnopqrstuvwxyz'
- 문자열은 immutable 이다. 따라서 한번 생성된 문자열 자체를 바꾸는것은 할 수 없다.
- 따라서, 새로운 메모리에 변경한 문자열을 새로 만드는 방법을 사용하게 된다.
letters.replace('a','q')
'qbcdefghijklmnopqrstuvwxyz'
문자열의 일부를 추출하기 -slicing 슬라이싱
- [:] 처음부터 끝까지
- [start:] start오프셋부터 끝까지
- [:end] 처음부터 end-1 오프셋까지
- [start : end] start오프셋부터 end-1 오프셋까지
- [start : end : step] step만큼 문자를 건너뛰면서, 위와 동일하게 추출
letters[2:7]
'cdefg'
letters[-5:]
'vwxyz'
letters[:4+1]
'qbcde'
letters.find('c')
2
letters.find('g')
6
letters.find('e')
4
letters[ : :2]
'qcegikmoqsuwy'
문자열의 길이
- len() 함수를 사용하여 몇개의 문자로 되어있는지 알 수 있다.
len(letters)
26
email = ' abc@naver.com'
email.strip()
'abc@naver.com'
문자열 위치 찾기
- find 함수는, 찾고자 하는 문자열이 존재하는 곳의 첫번째 오프셋을 알려준다.
- rfind 함수는, 찾고자 하는 문자열이 있는 마지막 오프셋을 알려준다.
print(poem)
So "it is" quite different, then, if in a mountain town
the mountains are close, rather than far. Here
they are far, their distance away established,
consistent year to year, like a parent’s
or sibling’s. They have their own music.
So I confess I do not know what it’s like,
listening to mountains up close, like a lover,
the silence of them known, not guessed at.
poem.find('"')
3
poem.rfind('year')
170
len(poem)
367
문자열의 갯수 파악
- count() 함수는 몇개의 문자열이 있는지 알려준다.
poem.count('banana')
0
댓글남기기