티스토리 뷰

728x90
반응형

파이썬에서 문자열 조작은 매우 중요한 기능입니다. 문자열은 프로그램에서 텍스트 데이터를 다루는 핵심적인 요소로, 다양한 방법으로 조작하고 포매팅할 수 있습니다. 이번 글에서는 문자열 연결, 문자열 포매팅, 그리고 문자열 메서드에 대해 자세히 알아보겠습니다.

1. 문자열 연결

문자열 연결은 여러 개의 문자열을 하나로 합치는 과정입니다. 파이썬에서는 + 연산자를 사용하여 쉽게 연결할 수 있습니다.

예제: 문자열 연결

python

first_name = "Alice"
last_name = "Smith"
full_name = first_name + " " + last_name
print(full_name)  # 출력: Alice Smith

위의 예제에서는 first_name과 last_name을 공백을 포함하여 연결하여 full_name이라는 새로운 문자열을 생성했습니다. 문자열 연결은 데이터베이스에 저장된 정보나 사용자 입력을 처리할 때 자주 사용됩니다.

여러 문자열 연결하기

문자열이 많을 경우 join() 메서드를 사용하면 더 효율적으로 연결할 수 있습니다.

python

names = ["Alice", "Bob", "Charlie"]
joined_names = ", ".join(names)
print(joined_names)  # 출력: Alice, Bob, Charlie

위의 예제에서는 리스트에 있는 이름들을 쉼표와 공백으로 연결하여 하나의 문자열로 만들었습니다.

2. 문자열 포매팅

문자열 포매팅은 문자열 안에 변수의 값을 삽입하여 동적으로 문자열을 생성하는 방법입니다. 파이썬에서는 여러 가지 포매팅 방법이 있습니다.

1. f-string (파이썬 3.6 이상)

f-string은 중괄호 {} 안에 변수를 직접 삽입하여 문자열을 포매팅하는 간편한 방법입니다.

python

age = 20
greeting = f"My name is {full_name} and I am {age} years old."
print(greeting)  # 출력: My name is Alice Smith and I am 20 years old.

f-string은 가독성이 높고, 코드가 간결하여 많이 사용됩니다.

2. format() 메서드

format() 메서드를 사용하면 문자열 안에 {}를 사용하여 원하는 위치에 변수를 삽입할 수 있습니다.

python

greeting = "My name is {} and I am {} years old.".format(full_name, age)
print(greeting)  # 출력: My name is Alice Smith and I am 20 years old.

format() 메서드는 위치 인자뿐만 아니라 키워드 인자를 사용하여 더욱 유연하게 문자열을 포매팅할 수 있습니다.

python

greeting = "My name is {name} and I am {age} years old.".format(name=full_name, age=age)
print(greeting)  # 출력: My name is Alice Smith and I am 20 years old.

3. % 연산자

이전 버전의 파이썬에서는 % 연산자를 사용하여 문자열 포매팅을 할 수 있었습니다. 그러나 이 방법은 현대적인 방식에 비해 덜 사용됩니다.

python

greeting = "My name is %s and I am %d years old." % (full_name, age)
print(greeting)  # 출력: My name is Alice Smith and I am 20 years old.

3. 문자열 메서드

파이썬에서는 문자열을 조작하기 위한 다양한 메서드를 제공합니다. 아래는 자주 사용되는 문자열 메서드 몇 가지입니다.

1. 대문자 및 소문자 변환

  • upper(): 모든 문자를 대문자로 변환합니다.
  • lower(): 모든 문자를 소문자로 변환합니다.
  • capitalize(): 첫 번째 문자를 대문자로 변환하고 나머지는 소문자로 변환합니다.
  • title(): 각 단어의 첫 번째 문자를 대문자로 변환합니다.

python

text = "hello world"
print(text.upper())       # 출력: HELLO WORLD
print(text.lower())       # 출력: hello world
print(text.capitalize())   # 출력: Hello world
print(text.title())        # 출력: Hello World

2. 문자열 찾기

  • find(): 특정 문자열이 처음 등장하는 인덱스를 반환합니다. 문자열이 없으면 -1을 반환합니다.
  • count(): 특정 문자열이 몇 번 등장하는지 세어줍니다.

python

text = "hello world"
print(text.find("world"))  # 출력: 6
print(text.count("o"))      # 출력: 2

3. 문자열 교체

  • replace(): 문자열의 일부를 다른 문자열로 교체합니다.

python

text = "hello world"
new_text = text.replace("world", "Python")
print(new_text)  # 출력: hello Python

4. 문자열 분할 및 연결

  • split(): 문자열을 특정 구분자를 기준으로 나누어 리스트로 반환합니다.
  • join(): 리스트의 문자열을 특정 구분자로 연결하여 하나의 문자열로 만듭니다.

python

text = "apple,banana,cherry"
fruits = text.split(",")
print(fruits)  # 출력: ['apple', 'banana', 'cherry']

joined_text = ", ".join(fruits)
print(joined_text)  # 출력: apple, banana, cherry
728x90
반응형