반응형
파이썬 변환 지정자(conversion specification) !에 대해
설명
- 파이썬의 f-string(Formatted String Literal)이나
str.format()에서 변환 지정자(conversion specification)!를 사용하면, 출력할 값을 특정 방식으로 변환할 수 있습니다. - 주로
!r,!s,!a가 사용됩니다. -
- !r :
repr()로 변환 (개발자 친화적, 디버깅용, 공식적 표현) - !s :
str()로 변환 (사용자 친화적, 읽기 쉬운 표현) - !a :
ascii()로 변환 (비ASCII문자 이스케이프)
- !r :
예제
class Card:
def __init__(self, rank, suit):
self.rank = rank
self.suit = suit
def __repr__(self):
return f"Card(rank={self.rank!r}, suit={self.suit!r})"
def __str__(self):
return f"{self.rank}{self.suit}"
c = Card("A", "♠")
print(f"{c!r}") # Card(rank='A', suit='♠') (repr)
print(f"{c!s}") # A♠ (str)
print(f"{c!a}") # Card(rank='A', suit='\\u2660') (ascii)
상세 설명
- !r :
repr(obj)를 호출하여 객체의 공식적 문자열 표현을 출력합니다.
디버깅, 로깅, 개발자용 출력에 적합합니다. - !s :
str(obj)를 호출하여 객체의 사용자 친화적 문자열 표현을 출력합니다.
일반적인 출력, 사용자 메시지 등에 적합합니다. - !a :
ascii(obj)를 호출하여 비ASCII문자를 이스케이프 처리한 문자열을 출력합니다.
국제화, 이스케이프가 필요한 상황에 적합합니다.
참고 자료
반응형
'Language > python' 카테고리의 다른 글
| python 탐구 생활 ( @dataclass ) (0) | 2025.07.09 |
|---|---|
| python __repr__() function 설명 (0) | 2025.07.08 |
| Python 탐구 생활 [ 생성자 오버로딩과 타입 힌트 ] (1) | 2025.07.07 |
| python 탐구 생활 @classmethod, @staticmethod (0) | 2025.07.06 |
| python 가변인자 탐구 생활 (1) | 2025.07.05 |