상세 컨텐츠

본문 제목

파이썬(Python) 자료형 - 문자형을 살펴보자

programming/python

by 바둑이들 2023. 4. 11. 01:56

본문

String type

 

문자형(String)은 파이썬에서 가장 기본적인 데이터 형식 중 하나로, 텍스트 데이터를 다루는 데 사용됩니다.

문자형은 작은 따옴표(' '), 큰 따옴표(" "), 혹은 세 개의 따옴표(''' ''', """ """)로 둘러싸여 표현됩니다.

# 작은 따옴표로 문자열 생성
str1 = 'Hello, World!'
print(str1)  # 출력: Hello, World!

# 큰 따옴표로 문자열 생성
str2 = "안녕하세요, 파이썬!"
print(str2)  # 출력: 안녕하세요, 파이썬!

# 세 개의 따옴표로 여러 줄의 문자열 생성
str3 = '''이것은
여러 줄의
문자열입니다.'''
print(str3)
# 출력:
# 이것은
# 여러 줄의
# 문자열입니다.

파이썬에서의 문자형은 불변(Immutable) 형태로, 한 번 생성된 문자열은 수정될 수 없습니다.

즉, 문자열을 변경하면 새로운 문자열이 생성되는 것이고, 기존의 문자열은 변하지 않습니다.

 

 

기본 연산자

문자열 간의 연산을 통해 문자열을 결합하거나 반복할 수 있습니다.

문자열 결합 연산자 (+)

  • 문자열을 결합하는 연산자로, 두 개의 문자열을 연결하여 새로운 문자열을 생성합니다.

문자열 반복 연산자 (*)

  • 문자열을 반복하는 연산자로, 문자열을 지정한 횟수만큼 반복하여 새로운 문자열을 생성합니다.
str1 = "Hello"
str2 = "World"

# 문자열 결합
str3 = str1 + ", " + str2 + "!"
print(str3)  # 출력: Hello, World!

# 문자열 반복
str4 = "python" * 3
print(str4)  # 출력: pythonpythonpython

 

 

문자열 인덱싱(indexing)과 슬라이싱(slicing)

문자열의 일부에 접근하기위해 인덱싱, 일부를 추출하기위해 슬라이싱을 사용할 수 있습니다.

문자열 인덱싱

  • 문자열의 각 문자는 인덱스(첨자)를 가지고 있습니다.
  • 인덱스는 0부터 시작하여 문자열의 길이-1까지의 범위를 가지며, 대괄호([])를 사용하여 특정 위치의 문자를 접근할 수 있습니다.
  • 또한 음수 인덱스도 사용할 수 있으며, 음수 인덱스는 문자열의 끝에서부터 역순으로 접근합니다.
  • -1은 문자열의 마지막 문자를 나타내며, -2는 뒤에서 두 번째 문자를 나타냅니다.

문자열 슬라이싱

  • 문자열 슬라이싱은 문자열의 일부분을 추출하는 것으로, 콜론(:)을 사용하여 시작 인덱스와 끝 인덱스를 지정합니다.
  • 시작 인덱스는 포함되고, 끝 인덱스는 포함되지 않습니다.
  • 시작 인덱스나 끝 인덱스를 생략할 경우, 각각 0과 문자열의 길이가 기본값으로 사용됩니다.
  • 슬라이싱에 스텝(step)을 지정하여 일정한 간격으로 문자를 건너뛸 수도 있습니다.
# 문자열 인덱싱
s = "Hello"
print(s[0])  # 출력: H
print(s[2])  # 출력: l

# 문자열 음수 인덱싱
s = "Hello"
print(s[-1])  # 출력: o
print(s[-3])  # 출력: l

# 문자열 슬라이싱
s = "Hello"
print(s[1:4])  # 출력: ell

# 문자열 슬라이싱 - 인덱스 생략
s = "Hello"
print(s[:3])   # 출력: Hel
print(s[3:])   # 출력: lo

# 문자열 스텝 슬라이싱
s = "Hello"
print(s[::2])  # 출력: Hlo

 

문자열 포매팅(formatting)

문자열 포매팅(String formatting)은 문자열에 동적으로 값을 삽입하는 방법입니다.

파이썬에서는 여러 가지 방법으로 문자열 포매팅을 할 수 있습니다. 적절한 방식을 선택하여 문자열 포매팅을 할 수 있습니다.

%-formatting

  • % 문자를 사용하여 형식을 지정
name = "Alice"
age = 30
print("이름: %s, 나이: %d" % (name, age))  # 출력: 이름: Alice, 나이: 30

 

%s 문자열(String)
%c 문자 1개(character)
%d 정수(Integer)
%f 부동소수(floating-point)
%o 8진수
%x 16진수
%% Literal % (문자 % 자체)

str.format() 메서드

  • 문자열 내에 중괄호({})를 사용하여 값을 치환
name = "Bob"
age = 25
print("이름: {}, 나이: {}".format(name, age))  # 출력: 이름: Bob, 나이: 25

f-strings

  • 변수를 중괄호 안에 직접 포함
name = "Charlie"
age = 35
print(f"이름: {name}, 나이: {age}")  # 출력: 이름: Charlie, 나이: 35

 

 

 

문자형 내장 함수

문자형은 다양한 내장 함수와 메소드를 제공합니다. 다음은 문자형 내장함수의 기본적인 사용법을 보여줍니다.

더 다양한 내장함수의 사용법과 기능은 공식 파이썬 문서를 참고하시기 바랍니다.

len()

  • 문자열의 길이를 반환합니다.
string = "Hello, World!"
print(len(string))  # 출력: 13

upper(), lower()

  • 대문자 또는 소문자로 문자열을 변환합니다.
string = "Hello, World!"
print(string.upper())  # 출력: HELLO, WORLD!
print(string.lower())  # 출력: hello, world!

strip(), lstrip(), rstrip()

  • 문자열의 양쪽 또는 왼쪽 끝, 오른쪽 끝의 공백을 제거합니다.
string = "   Hello, World!   "
print(string.strip())   # 출력: "Hello, World!"
print(string.lstrip())  # 출력: "Hello, World!   "
print(string.rstrip())  # 출력: "   Hello, World!"

split()

  • 문자열을 지정한 구분자(delimiter)를 기준으로 분리하여 리스트로 반환합니다.
string = "apple, banana, cherry"
fruits = string.split(", ")
print(fruits)  # 출력: ['apple', 'banana', 'cherry']

find(), index()

  • 문자열에서 지정한 부분 문자열(substring)을 찾아 첫 번째로 등장하는 인덱스를 반환합니다.
  • find()는 찾는 부분 문자열이 없을 경우 -1을 반환하고, index()는 찾는 부분 문자열이 없을 경우 ValueError를 발생시킵니다.
string = "Hello, World!"
print(string.find("World"))  # 출력: 7
print(string.index("World"))  # 출력: 7

replace()

  • 문자열 내에서 특정 부분 문자열을 다른 문자열로 교체합니다.
string = "Hello, World!"
new_string = string.replace("Hello", "Hi")
print(new_string)  # 출력: "Hi, World!"

관련글 더보기