ssoL2 TISTORY

문자열 dir(str) 정리 본문

com/python

문자열 dir(str) 정리

ssoL2 2020. 12. 29. 00:25

str 문자열 method

 

str = str.capitalize()

=> 각 문자의 첫 문자를 대문자로 하다.

 

 

str = str.casefold()

=> lower()과 같은 역할로, 모든 문자를 소문자로 바꾸지만 더 넓은 영향력이 있다.
     독일어의 ß 는 ss와 같은 뜻인데 이런 점까지 소문자로 바꿔 출력한다.

 

 

str = str.center(width, fillchar=' ')

=> str 을 기준으로 양 옆에 fillchar(기본값은 공백)으로 width만큼 채운다. 
     이때, 채울 때 홀수개라면 앞을 더 치중둔다.

 

 

int = str.count(substring, start[, end])

=> str 에서 substring의 개수를 출력한다. 
     이때, start와 end 인자가 있다면 그 범위 내에서 개수를 출력한다.
      (substring 제외 인자 하나 시 시작 범위, 두개 시 양끝 범위)

 

(a, 1) => index 1부터 '끝'까지 a 개수를 찾아라
(a, 1, 5) => index 1부터 index 4까지 a 개수를 찾아라

 

bytes = str.encode(encoding='utf-8', errors='strict')

=> 유니코드 str 을 encoding(기본값은 utf-8) 방식으로 encode 하며, 이를 byte 코드로 변환 한다.
     그래서 b'~~' 형식으로 표현한다.
     error 매개변수로 핸들러를 제공한다.
(기본값은 strict이며, ignore(무시), replace(인코딩 안되는 것은 ?로 삽입) xmlcharrefreplace(xml 문자 참조 삽입), backslashplace(#uNNNN 이스케이프 시퀀스 삽입) 그리고 namereplace(#N{...} 이스케이프 시퀀스 삽입)이 존재한다.
  

 

 

 

bool = str.endswith(suffix, start[, end])

=> str 이 특정 suffix 접미사로 끝난다면 True, otherwise False (start와 end로 범위 줄 수 있다.)

 

 

str = str.expandtabs(tabsize=8)

=> 대.박. 이거 이해하는데 30분 걸렸다 ! 
     구글링 해도 expandtabs에 대한 자세한 이야기가 한글 버전은 없었다.. 다 그냥 공백으로 바꿔주기만 한대..ㅠ.ㅠ
     일단 '공백' 자체로 바꿔주는 건 맞다. 그러나 !
     tabsize의 '배수' 기준으로 바꿔주는 것이다. 밑에 예시에서 설명하겠음.



str.expandtabs() 는 tabsize가 8로 default되어있다.
그래서 시작부터 \t이 나올 때까지 8, 16, 24 ... 순으로 맞는 개수 만큼 공백으로 채운다.
즉, xyz까지는 3갠데 다음에 \t이 나온다. 고로 \t이 5개의 공백으로 바뀐다.
이후 tab이 끝난 다음부터 새로 시작해서 12345까지는 5개고 다음 \t이 나오므로 \t을 3개의 공백으로 채워주면 된다.
이때, tabsize는 8개이지만 \t가 나오기 전까지의 글이 길어질 때는 다음 8의 배수인 16으로 기준한다.
예를 들어 위의 예시에서 str.expandtabs(2)를 보자.
xyz 다음에 \t이 오는데, 이미 2는 지나쳤으므로 4로 잡고 \t를 한개의 공백으로 하면 된다.
그 다음 12345 다음 \t가 오는데, 이때는 2도 지나고 4도 지났으므로 6을 사용해서 \t를 한 개의 공백으로 하면 된다.
이처럼 하면 위의 결과값이 나온다. 
후후.. 다들 이해 갔는가 ? 
도움이 되길 바라며 자세히 답변 했다 ^.^* 끝 !

 

int = str.find(sub, start[, end])

=> str 에서 sub (찾고자 하는 문자 혹은 문구)를 찾아 처음 찾은 sub의 첫 index를 반환한다. (시작과 끝 범위 가능)

 

 

str = str.format(*args or **kwargs)

=> str 에 중괄호로 { } 되어 있는 곳에 인수(가변인수 혹은 키워드 인수) 가 들어감. 

 

 

format 다시 정리

kwargs 활용 정리 또한 args랑 kwargs 같이 쓸수 있는지 확인 ㄱ

밑에꺼 다시 참조

blockdmask.tistory.com/424

 

Comments