티스토리 뷰

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()
= "welcome to python"
s1 = s.capitalize()
print("s.capitalize()= ", s1)
 
#title()
s2 = s.title()
print("s.title()= ", s2)
 
#lower()
= "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



본 게시물은 개인적인 용도로 작성된 게시물입니다. 이후 포트폴리오로 사용될 정리 자료이니 불펌과 무단도용은 하지 말아주시고 개인 공부 목적으로만 이용해주시기 바랍니다.


교재 영어 원서를 직접 번역하여 정리한 게시물이므로 일부 오타, 의역이 존재할 수 있습니다. 틀린 부분이 있다면 댓글로 알려주시면 감사하겠습니다. 

댓글