파이썬 문자열로 간주되는 형식 문자열에서 '{}'을 사용하고 있습니까?


9

방금 당신이 쓸 수 있음을 배웠습니다

'{}{}'.format(string_a, string_b)

대신에

'{0}{1}'.format(string_a, string_b)

파이썬에서, 즉, 일을 순서대로 슬롯으로 묶고 싶을 때 문자열 형식 매개 변수의 숫자를 생략 할 수 있습니다.

이것이 파이썬으로 간주됩니까?

참고 : "Pythonic"은 관용적 인 파이썬 코드를 의미하기 위해 파이썬 프로그래머들 사이에서 일반적으로 사용되는 용어입니다. 파이썬 문화에서는 스타일 질문에 대한 명확한 합의가있는 경향이 있는데, 특히 언어의 "명확한 방법이 있어야한다. 이것은 "Pythonic"을 정의하는 데 먼 길을 가고 파이썬의 모든 배포판에 포함되어있는 Python의 선 (Zen of Python)에서 인용 한 것입니다 import this.


4
@GregHewgill : "Pythonic"은 기본적으로 "아이디 오 매틱 파이썬"을 의미하는 꽤 일반적으로 사용되는 용어입니다. 양질의 Python 코드를 좋아하는 사람들이 스타일 적으로 기쁘게 생각하는 일종의 Python 코드.
Carson63000

1
이 매우 특정한 기능 은 파이썬에 명확하게 포함되어 있습니다 (실제로 스타일 질문은 아닙니다). 왜 합리적인 정의로 "피 토닉"으로 간주되지 않습니까? 내가 아는 한 "unPythonic"으로 간주되는 언어의 기능은 없습니다.
Greg Hewgill

4
참고 로이{} 기능은 Python 3.1도입되었습니다 . 이 추가 사항을 유발 한 개선 사항은 5237 호 입니다. 귀도는이 문제에 대해 다음과 같이 여러 가지 의견을 가지고 있습니다. 그것이 "Pythonic"으로 간주되지 않는다면, 나는 무엇인지 모른다.
Greg Hewgill

4
이 질문을 마무리하기 위해 투표하는 사람들에게 Pythonic의 존재 여부는 Python 코딩 문화의 중요한 부분이며 코딩 문화는 소프트웨어 공학의 중요한 요소라고 주장 할 수 있습니다. 이 장소.
Ghopper21

2
@Andrea-그것이 내 첫 생각과 정확히 같지만 BDFL이 비피 토닉이라고 생각하기는 어렵습니다. 이것에 대한 그의 인용문을 본 후에, 나는 다시 파이썬의 선 (Zen)을 다시 보았고 이것이 아마도 "실용성이 순도를 능가하는"경우라고 생각 했습니까? 토론의 이론적 근거 (그렉의 답변에 링크 됨)는 코드 작성기의 편의를 중심으로합니다. 그리고 어쨌든 문자열 형식을 사용하는 가장 명확한 방법 "{a}{b}".format(a=string_a, b=string_b)은 번호 지정이 아닙니다. 어쨌든, 그것은 단지 내 추측과 사고에 대한 선들 사이의 독서입니다 ...
Ghopper21

답변:


12

{}기능은 Python 3.1에서 도입되었으며 Python 2.7로 백 포트되었습니다. 이 추가 사항을 유발 한 개선 사항은 5237 호 입니다. Guido는 다음을 포함하여이 문제에 대한 몇 가지 의견을 가지고 있습니다.

계속해서 끝내세요. 나는 이것이 기쁘다!

BDFL 의 승인을받은 기능 은 어떤 측정법에서도 "Pythonic"으로 간주 될 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.