Python 자료구조 - 문자형

JongHwa Hong·2023년 10월 6일

Python

목록 보기
4/6
post-thumbnail

Python 에서 문자열을 표현하는 방법과, 핸들링하는 기초적인 방법들에 대하여 알아보자.

문자열 선언


작은따옴표를 사용한 문자열

>>> s1 = 'Hello, world!'
>>> print(s1)
Hello, world!

큰따옴표를 사용한 문자열

>>> s2 = "Hello, world!"
>>> print(s2)
Hello, world!

작은따옴표 3개를 사용한 여러 줄 문자열

>>> s3 = '''Hello,
... world!'''
>>> print(s3)
Hello,
world!

큰따옴표 3개를 사용한 여러 줄 문자열

>>> s4 = """Hello,
... world!"""
>>> print(s4)
Hello,
world!

문자열 연산하기


문자열 더하기(Concatenation)

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

>>> str1 = "Hello, "
>>> str2 = "world!"
>>> result = str1 + str2
>>> print(result)
Hello, world!

위 예제에서 str1과 str2 문자열을 + 연산자로 연결하여 result 변수에 저장하고 출력하였습니다.

문자열 곱하기

문자열 곱하기는 문자열을 주어진 횟수만큼 반복하는 과정입니다. 파이썬에서는 * 연산자를 사용하여 문자열을 쉽게 반복할 수 있습니다.

>>> str1 = "Hello! "
>>> result = str1 * 3
>>> print(result)
Hello! Hello! Hello!

위 예제에서는 str1 문자열을 * 연산자와 숫자 3을 이용해 3번 반복하였고, 그 결과를 result 변수에 저장하고 출력하였습니다.

인덱싱과 슬라이싱

문자열 인덱싱은 문자열에서 특정 위치의 문자를 참조하는 것이며, 슬라이싱은 문자열에서 특정 범위의 문자열을 추출하는 것입니다. 인덱싱은 대괄호([])와 정수 인덱스를, 슬라이싱은 대괄호와 콜론([:])을 사용해 구현합니다.


문자열 인덱싱

문자열 인덱싱은 문자열에서 특정 위치의 문자를 참조하는 것입니다. 파이썬에서 문자열 인덱스는 0부터 시작하며, 대괄호([]) 안에 인덱스를 넣어 참조할 수 있습니다. 음수 인덱스를 사용하면 뒤에서부터 문자를 참조할 수 있습니다.

>>> str1 = "Hello, world!"
>>> first_char = str1[0]
>>> last_char = str1[-1]
>>> print("First character:", first_char)
>>> print("Last character:", last_char)

출력:

First character: H
Last character: !

문자열 슬라이싱

문자열 슬라이싱은 문자열에서 특정 범위의 문자열을 추출하는 기능입니다. 슬라이싱은 대괄호([])와 콜론(:)을 사용하여 구현하며, 시작 인덱스와 종료 인덱스를 지정합니다. 종료 인덱스는 범위에 포함되지 않습니다.

예시 1: 문자열의 처음부터 4번 인덱스까지 문자열 추출하기

>>> str1 = "Hello, world!"
>>> sliced_str = str1[0:5]
>>> print("Sliced string:", sliced_str)

출력:

Sliced string: Hello

예시 2: 문자열의 7번 인덱스부터 끝까지 문자열 추출하기

>>> str1 = "Hello, world!"
>>> sliced_str = str1[7:]
>>> print("Sliced string:", sliced_str)

출력:

Sliced string: world!

예시 3: 문자열의 처음부터 끝까지 2씩 건너뛰며 문자열 추출하기

>>> str1 = "Hello, world!"
>>> sliced_str = str1[::2]
>>> print("Sliced string:", sliced_str)

출력:

Sliced string: Hlo ol!

문자열 포매팅


문자열 포매팅은 문자열 내에 변수의 값을 삽입하여 새로운 문자열을 생성하는 방법입니다. 파이썬에서는 % 기호, str.format() 메서드, f-string 등 여러 방법을 사용하여 문자열 포매팅을 수행할 수 있습니다.

% 기호 포매팅

% 기호를 사용한 문자열 포매팅은 문자열 안에 특수한 형식 지정자를 사용하여 변수의 값을 삽입하는 방법입니다. 형식 지정자는 % 기호 뒤에 문자를 붙여 사용하며, 변수의 타입에 따라 다양한 형식 지정자를 사용할 수 있습니다. 예를 들어, 문자열에서 %s는 문자열, %d는 정수, %f는 실수를 나타냅니다.

예시:

>>> name = "Alice"
>>> age = 30
>>> height = 165.5
>>> formatted_str = "Name: %s, Age: %d, Height: %.1f" % (name, age, height)
>>> print(formatted_str)

출력:

Name: Alice, Age: 30, Height: 165.5

% 기호를 사용한 문자열 포매팅에서 정렬과 소수점 처리를 적용하는 방법을 설명하겠습니다.

1) 정렬: 정렬을 적용하려면 형식 지정자 앞에 숫자를 추가하여 필드의 너비를 지정할 수 있습니다. 기본적으로 값은 오른쪽 정렬되며, - 기호를 사용하면 왼쪽 정렬이 됩니다.

예시 - 오른쪽 정렬:

>>> text = "Python"
>>> formatted_str = "%10s" % text
>>> print(formatted_str)

출력:

Python

예시 - 왼쪽 정렬:

>>> text = "Python"
>>> formatted_str = "%-10s" % text
>>> print(formatted_str)

출력:

Python

2) 소수점: 실수를 표현할 때 소수점 이하의 자릿수를 제한하려면 형식 지정자의 f 앞에 .숫자를 추가하면 됩니다. 이렇게 하면 소수점 이하의 자릿수를 지정할 수 있습니다.

예시 - 소수점 둘째 자리까지 표현:

>>> pi = 3.141592
>>> formatted_str = "Pi value: %.2f" % pi
>>> print(formatted_str)

출력:

Pi value: 3.14

format 함수를 사용한 포매팅

str.format() 함수를 사용한 문자열 포매팅의 다양한 예시를 파이썬 인터프리터를 사용하여 설명하겠습니다.

예시 1 - 기본 사용법:

>>> name = "Alice"
>>> age = 30
>>> formatted_str = "Name: {}, Age: {}".format(name, age)
>>> print(formatted_str)

출력:

Name: Alice, Age: 30

예시 2 - 인덱스 지정:

>>> name = "Alice"
>>> age = 30
>>> formatted_str = "Age: {1}, Name: {0}".format(name, age)
>>> print(formatted_str)

출력:

Age: 30, Name: Alice

예시 3 - 정렬:

>>> text = "Python"
>>> formatted_str_left = "{:<10}".format(text)
>>> formatted_str_right = "{:>10}".format(text)
>>> print("Left-aligned: ", formatted_str_left)
>>> print("Right-aligned:", formatted_str_right)

출력:

Left-aligned:  Python
Right-aligned:     Python

예시 4 - 소수점 처리:

>>> pi = 3.141592
>>> formatted_str = "Pi value: {:.2f}".format(pi)
>>> print(formatted_str)

출력:

Pi value: 3.14

예시 5 - 다양한 형식 지정:

>>> name = "Alice"
>>> age = 30
>>> height = 165.5
>>> formatted_str = "Name: {0}, Age: {1:d}, Height: {2:.1f}".format(name, age, height)
>>> print(formatted_str)

출력:

Name: Alice, Age: 30, Height: 165.5

f-string 포매팅

f 문자열 포매팅(F-string)은 파이썬 3.6부터 도입된 새로운 문자열 포매팅 방식입니다. 문자열 내에 중괄호 {}를 사용해 변수를 직접 참조하며, 문자열 앞에 f 또는 F를 붙여서 사용합니다. 다양한 형식 지정 및 연산도 가능합니다.

예시 1 - 기본 사용법:

>>> name = "Alice"
>>> age = 30
>>> formatted_str = f"Name: {name}, Age: {age}"
>>> print(formatted_str)

출력:

Name: Alice, Age: 30

예시 2 - 정렬:

>>> text = "Python"
>>> formatted_str_left = f"{text:<10}"
>>> formatted_str_right = f"{text:>10}"
>>> print("Left-aligned: ", formatted_str_left)
>>> print("Right-aligned:", formatted_str_right)

출력:

Left-aligned:  Python
Right-aligned:     Python

예시 3 - 소수점 처리:

>>> pi = 3.141592
>>> formatted_str = f"Pi value: {pi:.2f}"
>>> print(formatted_str)

출력:

Pi value: 3.14

예시 4 - 연산:

>>> a = 5
>>> b = 3
>>> formatted_str = f"5 + 3 = {a + b}"
>>> print(formatted_str)

출력:

5 + 3 = 8

출처


profile
서버 개발자 홍종화 입니다.

0개의 댓글