[python, str] case(대문자, 소문자)와 관련된 methods

한라봉·2023년 4월 10일

Python 문법

목록 보기
13/15

https://docs.python.org/3/library/stdtypes.html#string-methods

대문자 또는 소문자로 바꾸는 메소드

capitalize

str.capitalize()

str의 첫 단어의 첫 문자는 대문자화하고, 나머지 문자는 소문자화한 새로운 string 반환한다.
첫 단어의 시작이 숫자나 특수문자일 경우에는 아무 것도 대문자화되지 않는다.

  • 예시
>>> a = "hElLo"
>>> b = a.capitalize()
>>> b
	'Hello'
>>> a
	'hElLo'
>>> 'hello world'.capitalize()
	'Hello world'

title

str.title()

str의 모든 단어의 시작 문자는 대문자화하고 나머지는 소문자화한 string을 반환한다.
capitalize와의 차이점은, capitalize는 첫 단어의 첫 문자만 대문자화하고 나머지는 다 소문자화하는데, title은 모든 단어의 첫 문자를 대문자화하고 나머지를 소문자화한다.
단어를 구분하는 기준은 공백, 숫자 특수문자이다.
따라서 숫자/특수문자 다음에 오는 문자는 대문자화한다.

>>> h = 'hELlo wOrlD'
>>> h.capitalize()
	'Hello world'
>>> h.title()
	'Hello World'
>>> 'hEllo $wORld'.title()
	'Hello $World'
>>> 'he2llo'.title()
	'He2Llo'

string.capwords

import string
string.capwords(str, sep=None)

str의 모든 글자의 첫 문자를 대문자로 바꾼다.
sep을 설정 안 할 경우 공백으로 단어를 구분한다.
숫자나 특수문자 다음에 오는 문자는 대문자화하지 않는다.
sep을 설정할 경우 sep을 기준으로 단어를 구분하여 sep 다음에 오는 문자를 대문자화한다.

>>> a = "i'm word"
>>> string.capwords(a)
	"I'm Word" #capwords는 sep(설정 안 할 경우 공백) 다음의 문자만 대문자화한다.
>>> a.title()
	"I'M Word" #title의 경우 특수문자 다음의 문자도 대문자화한다.
>>> string.capwords('hello world', sep='l')
	'HellO worlD'

swapcase

str.swapcase()

대문자는 소문자로, 소문자는 대문자로 바꿔준다.

  • 예시
>>> a = 'hElLo'
>>> a.swapcase()
	'HeLlO'

lower

str.lower()

str의 모든 문자를 소문자로 바꾼 string을 반환한다.

  • 예시
>>> a = 'hElLo'
>>> a.lower()
	'hello'

upper

str.upper()

str의 모든 문자를 대문자로 바꾼 string을 반환한다.

  • 예시
>>> a = 'hElLo'
>>> a.upper()
	'HELLO'

casefold

str.casefold()

lower와 비슷하다. 단지, lower는 ASCII 코드에 적용되고, casefold는 모든 UNICODE에 적용된다고 한다.

대문자인지 소문자인지 확인하는 메소드

islower

str.islower()

str에 있는 모든 문자가 소문자일 경우에 True를 반환한다.
str 안에 1개라도 대문자가 있거나, case가 있는 문자가 아예 없을 경우 False를 반환한다.

>>> h = 'hello'
>>> h.islower()
	True
>>> h = 'Hello'
>>> h.islower()
    False
>>> h = '가나다' #case가 있는 문자가 아예 없으므로
>>> h.islower()
    False

isupper

str.isupper()

str 안에 있는 모든 문자가 대문자일 경우에 True를 반환한다.
str 안에 1개라도 소문자가 있거나, case가 있는 문자가 아예 없을 경우 False를 반환한다.

>>> 'HELLO'.isupper()
	True
>>> 'Hello'.isupper()
    False
>>> '가나다'.isupper()
    False

istitle

str.istitle()

str 안에 있는 모든 문자의 첫 단어가 대문자이면 True를 반환한다.
공백, 숫자, 특수문자로 단어를 구분한다.

>>> "Hello 22world".istitle()
	False
>>> "Hello 22World".istitle()
	True
    
>>> "Hello22world".istitle()
	False
>>> "Hello22World".istitle()
	True
profile
개발자가 되고 싶은 한라봉

0개의 댓글