4
는연산자 우선 순위는 문자열에서 숫자와 동일한 방식으로 작동합니까? 코드 골프가 나는 독특한 문제에 발견하는 동안
>>> print '%'+'-+'[1]+str(5)+'s'%'*'
Traceback (most recent call last):
File "<pyshell#178>", line 1, in <module>
print '%'+'-+'[1]+str(5)+'s'%'*'
TypeError: not all arguments converted during string formatting
내 가정은 운영자의 평가는 왼쪽에서 오른쪽으로 발생했지만,이 특별한 경우에는, 비록 그 문자열 조작, %
takes priority over+
과가 시도 할 것 연결 전에 's'%'*'
을 평가하고 실패합니다.
이것은 알려진 문서화 된 동작입니까, 아니면 나에게 분명하지 않은 것이 있습니다.
+1 "기타는 끔찍하게 혼란 스럽습니다" –
+1 문서 링크 – Abhijit