문자열에 큰 따옴표가 있으면 dict로 서식을 지정하는 이유는 무엇입니까?파이썬 형식 dict과 함께 내부 따옴표가있는 문자열
>>> '%(x)s"%(y)s' % {'x': 1, 'y':2}
'1"2'
참고 s
문자열 : 당신은 전환 유형 코드를 잊고
'%s"%s' % (1,2)
문자열에 큰 따옴표가 있으면 dict로 서식을 지정하는 이유는 무엇입니까?파이썬 형식 dict과 함께 내부 따옴표가있는 문자열
>>> '%(x)s"%(y)s' % {'x': 1, 'y':2}
'1"2'
참고 s
문자열 : 당신은 전환 유형 코드를 잊고
'%s"%s' % (1,2)
그냥 당신이 %(x)s
를 사용해야 생략. %"
이 잘못된 것처럼 %(x)"
이 잘못되었습니다. 당신은 작은 s
것을 추가해야합니다
'%(x)s"%(y)s' % {'x': 1, 'y':2}
그 편지는 정상 서식이 필요합니다 같은 이유로 필요합니다. 예전과 마찬가지로 d
, 03d
, f
등을 사용할 수도 있습니다.
:와
'%(x)"%(y)' % {'x': 1, 'y':2}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: unsupported format character '"' (0x22) at index 4
그것은 작동합니다. 구문은 %(key)conversiontype
입니다. 변환 유형을 나타내는 문자가 없으면 파서가 다음 문자를 선택하고 그 문자열에 "
이 있습니다. 에서
string formatting operations documentation : A 변환 지정이 순서로 발생해야하는 다음과 같은 구성 요소가 두 개 이상의 문자를 포함하고있다
:
- 의 시작이되는이
'%'
문자, 지정자.- 괄호 안의 문자 시퀀스 (예 :
(somename)
)로 구성된 매핑 키 (선택 사항)입니다.- 일부 변환 유형의 결과에 영향을주는 변환 플래그 (선택 사항).
- 최소 필드 폭 (옵션).
'*'
(별표)로 지정하면 실제 너비는 값의 튜플의 다음 요소에서 읽히고 변환 할 개체는 최소 필드 너비와 선택적 정밀도 뒤에옵니다.- 정밀도 (선택 사항)
'.'
(점)과 그 뒤에 오는 정밀도로 표시됩니다.'*'
(별표)으로 지정하면 튜플의 다음 요소에서 값의 실제 너비가 읽히고 변환 할 값은 정밀도 뒤에옵니다.- 길이 수정 기호 (선택 사항).
- 변환 유형입니다.
당신은 (선택 사항입니다) 항목 1과 2를 주었지만 항목이 %s
를 사용 7.