Python 2.6 str.format()
은 기존 %
연산자 와 약간 다른 구문으로 메소드를 도입했습니다 . 어느 것이 더 좋고 어떤 상황에 적합합니까?
다음은 각 방법을 사용하며 동일한 결과를 가지므로 차이점은 무엇입니까?
#!/usr/bin/python sub1 = "python string!" sub2 = "an arg" a = "i am a %s" % sub1 b = "i am a {0}".format(sub1) c = "with %(kwarg)s!" % {'kwarg':sub2} d = "with {kwarg}!".format(kwarg=sub2) print a # "i am a python string!" print b # "i am a python string!" print c # "with an arg!" print d # "with an arg!"
또한 파이썬에서 문자열 서식이 언제 발생합니까? 예를 들어, 로깅 수준이 높음으로 설정되어 있어도 다음
%
작업 을 수행해도 여전히 적중 합니까? 그렇다면, 이것을 피할 수있는 방법이 있습니까?log.debug("some debug info: %s" % some_info)
%
당신이의 향상된 기능이 필요하지 않은 경우 때문에, 더 자주 스타일을 format()
스타일의 %
스타일은 종종 훨씬 더 편리합니다.
format()
포맷 스타일 과 나이 %
기반 포맷 스타일 .