티스토리 뷰
8.2.11 문자열 변환하기(Converting Strings)
- 아래의 메소드들을 이용해 앞 문자 대문자화, 문자열 전체 바꾸기 등을 할 수 있다.
- 문자열을 완전히 바꾸는 것이 아닌, 파이썬이 임시로 복사본(a copy of a string)을 만들고 이 복사본을 이용해 값을 반환한다.
- 즉, 문자열이 영원히 바뀌는 것이 아닌 메소드를 사용할 때만 잠시 내용물이 바뀐다.
* 문자열 변환 메소드(주의 : 문자열이 아닌 메소드를 사용한 문자열의 복사본을 반환!)
capitalize(): str |
문자열의 첫 글자만 대문자로 바꾼 뒤 반환한다. |
lower(): str |
모든 문자열을 소문자로 바꾼 뒤 반환한다. |
upper(): str |
모든 문자열을 대문자로 바꾼 뒤 반환한다. |
title(): str |
각 단어(word)의 앞 글자들을 대문자로 바꾼 뒤 반환한다. |
swapcase(): str |
대문자를 소문자로, 소문자를 대문자로 바꾼 뒤 반환한다. |
replace(old, new): str |
이전 문자열(old)을 새문자열(new)로 바꾼 뒤 반환한다. |
* 문자열 변환 메소드 예제
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 |
#capitalize()
s = "welcome to python"
s1 = s.capitalize()
print("s.capitalize()= ", s1)
#title()
s2 = s.title()
print("s.title()= ", s2)
#lower()
s = "New England"
s3 = s.lower()
print("s.lower()= ", s3)
#upper()
s4 = s.upper()
print("s.upper()= ", s4)
#swapcase()
s5 = s.swapcase()
print("s.swapcase()= ", s5)
#replace(old, new)
s6 = s.replace("England","Haven")
print("s.replace(\"England\",\"Haven\")=",s6)
print("s = ", s)
|
cs |
- 앞서 언급한 바와 같이, 문자열은 불변 객체이다. str 클래스내의 메소드들을 이용하여 기존 문자열들의 내용물을 바꿀 수 없다. 대신에, 이 메소드들은 새로운 문자열을 만든다.
- 위의 예제를 보면 알다시피, s.lower, s.upper(), s.swapcase(), s.replace("England, "haven") 메소드들을 사용했더라도 여전히 문자열 s는 New England 이다.
8.2.12 문자열 공백 문자 제거하기(Stripping Whitespace Characters from a String)
- 아래의 메소드를 이용하여 문자열의 왼쪽, 오른쪽, 아니면 두 쪽 공백 모두 다를 제거할 수 있다.
- ' ', \t, \f. \r, \n 과 같은 문자를 공백 문자(whitespace characters)라고 부른다.
- input()을 이용해 입력을 받을 때 사용하면, 문자 끝에 있는 공백을 없앨 수 있어 유용하다.
* 공백 문자 제거 메소드 표
lstrip(): str |
문자열 왼쪽 공백 문자를 제거한다. |
rstrip(): str |
문자열 오른쪽 공백 문자를 제거한다. |
strip(): str |
문자열 왼쪽, 오른쪽 모든 공백 문자를 제거한다. |
* 공백 문자 제거 예
>>> s = " Welcome to Python\t"
>>> s1 = s.lstrip()
>>> s1
'Welcome to Python\t'
>>> s2 = s.rstrip()
>>> s2
' Welcome to Python'
>>> s3 = s.strip()
>>> s3
'Welcome to Python'
8.2.13 문자열 포매팅하기(Formatting Strings)
- 아래의 메소드들을 이용하여 문자열을 포매팅(formatting, 정렬) 할 수 있다.
- str 클래스 내의 format 메소드는 앞서 배웠던 format 함수와 매우 유사하다.
* 문자열 포매팅 메소드표
center(width): str |
너비(width) 내에서 중간으로 포매팅(formatting, 정렬) |
ljust(width): str |
너비(width) 내에서 왼쪽으로 포매팅(formatting, 정렬) |
rjust(width): str |
너비(width) 내에서 오른쪽으로 포매팅(formatting, 정렬) |
format(items): str |
문자열을 포매팅한다. (앞서 배운 내용) |
* 문자열 포매팅 예제
>>> s = "Welcome"
>>> s1 = s.center(11)
>>> s1
' Welcome '
>>> s2 = s.ljust(11)
>>> s2
'Welcome '
>>> s3 = s.rjust(11)
>>> s3
' Welcome'
참고 문헌 : Introduction to Programming Using Python / Y.DANIEL LIANG
※
본 게시물은 개인적인 용도로 작성된 게시물입니다. 이후 포트폴리오로 사용될 정리 자료이니 불펌과 무단도용은 하지 말아주시고 개인 공부 목적으로만 이용해주시기 바랍니다.
교재 영어 원서를 직접 번역하여 정리한 게시물이므로 일부 오타, 의역이 존재할 수 있습니다. 틀린 부분이 있다면 댓글로 알려주시면 감사하겠습니다.
※
'파이썬 > 이론' 카테고리의 다른 글
[파이썬]연산자 오버로딩과 특수메소드, Rational 클래스(유리수) (2) | 2017.08.24 |
---|---|
[파이썬]회문 검사(Palindromes), 진수 변환(16진수 → 10진수) (0) | 2017.08.21 |
[파이썬]문자열 반복하기, 문자열 메소드, 문자열 검색 (0) | 2017.08.19 |
[파이썬]연결 연산자와 반복 연산자, in과 not in 연산자, 문자열 크기 비교 (1) | 2017.08.19 |
[파이썬]str 클래스, 문자열 생성, 문자열을 위한 함수, 인덱스 연산자, 슬라이싱 연산자 (0) | 2017.08.16 |
- Total
- Today
- Yesterday
- 자료구조
- 파이썬 함수
- 파이썬 객체
- css 박스
- 파이썬 문자열
- 파이썬 터틀
- 파이썬 단계적 개선
- css
- 자바
- css 그리드
- 파이썬 while
- 자바스크립트 자료구조
- 명품 c++ 실습
- 자바스크립트 그래프
- 파이썬 선택문
- 백준
- 파이썬 클래스
- 파이썬 예제
- 파이썬 리스트
- 파이썬
- 웹
- 백준 1874
- 파이썬 연산자
- 백준 10451
- 버츄어박스
- 파이썬 if문
- 자바 에센셜 실습문제
- 백준 11501
- 파이썬 진수 변환
- 파이썬 for
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |