일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 자료구조
- 클라우드컴퓨팅
- 자바스크립트
- 코딩
- 데이터과학
- 2
- 웹개발
- 인공지능
- 딥러닝
- 컴퓨터비전
- Yes
- 네트워크
- 데이터베이스
- 컴퓨터과학
- 데이터분석
- 알고리즘
- 네트워크보안
- 프로그래밍언어
- 사이버보안
- 머신러닝
- 빅데이터
- 소프트웨어
- 보안
- 프로그래밍
- I'm Sorry
- 컴퓨터공학
- 버전관리
- 소프트웨어공학
- 데이터구조
- 파이썬
- Today
- Total
스택큐힙리스트
파이썬 문자열에서 퍼센트(%)를 선택적으로 이스케이프하는 방법은 무엇인가요? 본문
저는 다음과 같은 코드를 가지고 있습니다.
test = have it break.
selectiveEscape = Print percent % in sentence and not %s % test
print(selectiveEscape)
저는 출력 결과를 받고 싶습니다.
Print percent % in sentence and not have it break.
실제로 무엇이 일어나는지:
selectiveEscape = Use percent % in sentence and not %s % test
TypeError: %d format: a number is required, not str
답변 1
>>> test = have it break.
>>> selectiveEscape = Print percent %% in sentence and not %s % test
>>> print selectiveEscape
Print percent % in sentence and not have it break.
답변 2
파이썬에서 문자열을 작성하면서 퍼센트 기호를 사용할 경우, 이 기호는 문자열 내에서 변수를 나타내는데 사용됩니다. 이때, 퍼센트 기호를 문자 그대로 출력하고 싶을 경우가 있습니다. 이를 위해서는 퍼센트 기호를 이스케이프(escape)해야 합니다.퍼센트 기호를 이스케이프하는 방법은 간단합니다. 퍼센트 기호를 두 번 쓰면 됩니다. 예를 들어, 100% 정상 작동 중입니다.라는 문자열에서 퍼센트 기호를 출력하려면 100%% 정상 작동 중입니다.라고 써주면 됩니다.
하지만 이스케이프할 퍼센트 기호가 일부분만 있는 경우, 어떻게 해야 할까요? 이럴 때에는 문자열 내에서 문자열 포맷 코드를 사용해서 해당 부분을 이스케이프할 수 있습니다.
예를 들어, 현재 25%의 용량만 사용 중입니다.라는 문자열에서 25%의 부분을 이스케이프하고 싶다면 다음과 같이 작성할 수 있습니다.
```
capacity = 25
message = 현재 %d%%의 용량만 사용 중입니다. % capacity
print(message) # 현재 25%의 용량만 사용 중입니다.
```
여기서 %d%%는 문자열 포맷 코드입니다. %%는 문자 그대로 %를 출력하도록 하는 이스케이프 시퀀스입니다. 따라서 위 코드에서 %d는 변수 capacity의 값을 출력하고, %%은 문자 그대로 %를 출력하게 됩니다.
이와 비슷한 방법으로 문자열 포맷 함수인 format() 함수를 사용해도 됩니다. 위 예제를 format() 함수로 작성하면 다음과 같습니다.
```
capacity = 25
message = 현재 {}%의 용량만 사용 중입니다..format(capacity)
print(message) # 현재 25%의 용량만 사용 중입니다.
```
이번에는 {}%와 {}를 이용해서 문자열 포맷을 작성했습니다. {}%는 {} 다음에 %가 붙어있는 형태로, {}는 변수 capacity의 값을 출력합니다.
이렇게 퍼센트 기호를 이스케이프하는 방법은 간단하지만, 문자열 포맷 코드나 문자열 포맷 함수를 사용해서 더 다양한 방법으로 문자열을 작성할 수 있습니다. 이를 이용해서 다양한 문자열을 작성해보세요!