스택큐힙리스트

파이썬 문자열에서 퍼센트(%)를 선택적으로 이스케이프하는 방법은 무엇인가요? 본문

카테고리 없음

파이썬 문자열에서 퍼센트(%)를 선택적으로 이스케이프하는 방법은 무엇인가요?

스택큐힙리스트 2023. 3. 31. 01:15
반응형

저는 다음과 같은 코드를 가지고 있습니다.

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의 값을 출력합니다.

이렇게 퍼센트 기호를 이스케이프하는 방법은 간단하지만, 문자열 포맷 코드나 문자열 포맷 함수를 사용해서 더 다양한 방법으로 문자열을 작성할 수 있습니다. 이를 이용해서 다양한 문자열을 작성해보세요!

반응형
Comments