Coding Diary.

(파이썬) 문자열메소드, 문자열 포맷팅 총정리 본문

Coding/Python

(파이썬) 문자열메소드, 문자열 포맷팅 총정리

life-of-nomad 2023. 5. 10. 15:42
728x90
반응형

이전 글에서 리스트에서 유용한 메소드에 대해 알아보았습니다. 그럼 함수와 메소드의 차이점은 무엇일까요? 이번 글에서는 함수와 메소드의 차이점과 문자열에서 유요한 메소드에 대해 알아보겠습니다.

 

🔻(참고)리스트 메소드🔻

 

(파이썬) 리스트와 리스트에서 유용한 메소드 총정리

1. 리스트에서 값의 존재 확인하기어떤 값이 리스트에 있는지 여부를 확인하는 함수를 만들어보겠습니다.# value가 some_list의 요소인지 확인def in_list(some_list, value): i = 0 while i 위와 같이 실행하면

life-of-nomad.tistory.com

 

1. 메소드(method)

  • 메소드는 함수와 관련이 있지만 함수와는 달리 메소드는 특정 유형의 객체와 연결됩니다.
  • 즉, 작업 중인 데이터 유형에 따라 다른 메소드가 있습니다.

1) .title()

  • 아래의 예시에서 객체는 문자열로 sebastian thrun 값을 가졌고 title 메서드를 호출합니다.
print("sebastian thrun".title())
Sebastian Thrun

 

이 메소드는 title 의 경우에서 문자열을 반환하는데 각 단어의 첫 글자가 대문자임을 의미합니다.

따라서 메소드는 객체, 즉 이 예시에서는 문자열인 객체에 속하는 함수입니다.

 

2) .islower()

  • lower 메소드는 문자열 또는 소문자의 문자 중 하나를 확인합니다.
  • 아래의 예시의 경우 문자열 객체는 sebastian thrun입니다.
  • islower은 대문자가 없기 때문에 true를 반환합니다.
full_name = "sebastian thrun"
print(full_name.islower())
True
  • islower 및 title 메소드를 호출할 때 괄호를 사용하지만 함수를 호출할 때 처럼 괄호 안에 아무 것도 넣지 않았습니다.
  • 괄호 안의 입력을 인수(arguments)라고 합니다.
  • 객체에 속하는 메소드 또는 특수 유형의 함수이므로 객체는 항상 메소드의 첫 번째 인수입니다.
  • 따라서 괄호 안에는 아무것도 없었지만 사실상 islower과 title 에 인수가 있었습니다.
  • 문자열 객체 자체가 인수인 것입니다. 

3) .count()

  • 위의 메소드보다 더 많은 인수를 사용하는 메소드를 사용해보겠습니다.
  • count 메소드는 문자열에서 하위 문자열이 몇 번 발생하는지를 반환합니다.
print("One fish, two fish, red fish, blue fish".count('fish'))
4
  • 괄호 안에 하위 문자열 'fish'가 몇 번 나타나는지 반환하므로 결과는 4 입니다.

4) .format() 자주 사용 문자열 포맷팅

(1) 가장 오래된 방식 (%기호)

name = "박보검"
age = 31

print("제 이름은 %s이고 %d살입니다." %(name, age))
제 이름은 박보검이고 31살입니다.
  • 이제는 잘 쓰지않는, 옛날 방식입니다. %s, %d와 같은 '포맷 스트링'이라는 것을 사용합니다. 

(2)  format 메소드 (현재 가장 많이 쓰는 방식)

name = "박보검"
age = 31

print("제 이름은 {}이고 {}살입니다.".format(name, age))
제 이름은 박보검이고 31살입니다.

(3) 새로운 방식 (f-string)

name = "박보검"
age = 31

print("제 이름은 {name}이고 {age}살입니다.")
제 이름은 박보검이고 31살입니다.

 

 

5) .split()

  • 이 메소드에서는 입력 문자열에서 나온 단어들이 포함된 리스트를 반환합니다.
  • split 메소드에는 추가적인 인수가 2개 있습니다. 
  • 1) seperator(구분자) : 문자열을 어떻게 분할해야 하는지 정함
    • 스페이스, 탭, 줄바꿈 같은 화이트 스페이스나 문자나 쉼표, 대시 같은 특수 구두점, 인수가 제공되지 않은 경우 기본값 구분자는 화이트 스페이스
  • 2) maxsplit : 분할물의 최대 개수
    • maxsplit + 1개의 요소가 새로운 리스트에 생성되고 나머지 문자열은 리스트의 마지막 요소로서 리턴됨
  • 예시 1) 기본적인 split 메소드
new_str = "The cow jumped over the moon."
new_str.split()
['The', 'cow', 'jumped', 'over', 'the', 'moon.']
  • 예시 2) 구분자는 공백이고 maxsplit 인수는 3
new_str.split(' ', 3)
['The', 'cow', 'jumped', 'over the moon.']
  • 예시 3) 마침표를 구분자로 사용
new_str.split('.')
['The cow jumped over the moon', '']
  • 예시 4) 구분자를 사용하지 않지만 maxsplit 인수를 3으로 한 경우
new_str.split(None, 3)
['The', 'cow', 'jumped', 'over the moon.']
728x90
반응형