💻 프로그래밍/Python

[파이썬] 문자열 처리 방식 - 튜플(Tuple), 문자열 포매팅(String formatting) 차이점

gameuiux 2024. 5. 25. 22:40
728x90
반응형

튜플(Tuple)과 문자열 포매팅(String formatting)은 파이썬에서 데이터를 다루는 방법

둘은 용도와 사용법에서 큰 차이가 있다.

튜플(Tuple)
"i = %d\n", i

문자열 포매팅(String formatting)
"i = %d\n" % i

 

 

튜플(Tuple)

튜플은 여러 개의 값을 묶어서 하나의 변수에 저장하는 데이터 구조

리스트와 비슷하지만, 튜플은 변경할 수 없는(immutable) 특성을 가진다.

튜플에 저장된 값은 한 번 정해지면 변경할 수 없다.

특징

변경 불가: 튜플은 값을 변경, 추가, 삭제할 수 없다.
순서가 있음: 튜플에 저장된 값들은 순서가 있다.
중복 허용: 튜플은 중복된 값을 허용
다양한 데이터 타입 저장 가능: 튜플은 다양한 데이터 타입을 저장할 수 있다.


생성 방법
튜플은 소괄호 ()를 사용하여 생성하며, 쉼표 ,로 구분된 요소들을 포함

# 튜플 생성
my_tuple = (1, 2, 3)
print(my_tuple)  # 출력: (1, 2, 3)

# 튜플의 요소에 접근
print(my_tuple[0])  # 출력: 1

 

 

 

문자열 포매팅(String Formatting)

문자열 포매팅은 문자열 내에 변수나 표현식을 삽입하여 특정 형식의 문자열을 만드는 방법

이를 통해 동적으로 값을 삽입하거나, 특정 형식으로 데이터를 표시할 수 있다.

주요 방법

% 연산자
str.format() 메서드
f-strings (포맷 문자열 리터럴)


% 연산자

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

 

str.format() 메서드

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

 

f-strings (파이썬 3.6 이상)

formatted_string = f"My name is {name} and I am {age} years old."
print(formatted_string)  # 출력: My name is Alice and I am 30 years old.

 

 

"i = %d\n", i과 "i = %d\n" % i 차이점

튜플

여러 값을 하나의 변수에 저장하는 데이터 구조
예: my_tuple = (1, 2, 3)

"i = %d\n", i
이 표현은 튜플(Tuple)을 생성
포맷팅 연산이 수행되지 않으며, "i = %d\n"와 i가 별개의 요소로 저장
튜플은 여러 값을 하나의 변수에 저장할 수 있는 데이터 구조
아래 코드는 result 변수에 두 개의 값 "i = %d\n"와 i를 담은 튜플을 생성

print 함수로 출력 시 튜플 형태로 표시
튜플은 형식화된 문자열을 생성하지 않으며, 포매팅 연산이 이루어지지 않는다.


문자열 포매팅

문자열 내에 변수를 삽입하거나 표현식을 사용하여 동적으로 문자열을 생성하는 방법입니다.
예: "My name is %s and I am %d years old." % (name, age)

"i = %d\n" % i
이 표현은 문자열 포매팅 연산을 수행
% 연산자는 포맷 문자열에서 %d가 i의 값으로 대체되어 최종 문자열이 생성된다.
아래 코드는 result 변수에 문자열 "i = 42\n"을 저장한다.
여기서 %d는 i의 값(42)로 대체

출력 시 포맷팅된 문자열로 표시
최종적으로 형식화된 문자열이 생성

 

예제 비교

i = 42

# 튜플 예제
tuple_example = ("i = %d\n", i)
print(tuple_example)  # 출력: ('i = %d\n', 42)

# 문자열 포매팅 예제
formatted_string = "i = %d\n" % i
print(formatted_string)  # 출력: i = 42

 

예제 설명

튜플 예제
튜플(tuple_example)은 ("i = %d\n", 42)로 두 개의 요소를 가진 데이터 구조를 생성

문자열 포매팅 예제
문자열 포매팅(formatted_string)은 i의 값을 문자열에 삽입하여 "i = 42\n"를 생성

따라서, 튜플은 데이터를 묶어서 저장하는 방법이고,
문자열 포매팅은 문자열에 변수를 삽입하여 원하는 형식의 문자열을 만드는 방법
728x90
반응형