반응형
파이썬 변환 지정자(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 |