파이썬 문서의 함수 시그니처 포맷은 다소 혼란 스럽습니다. 이전 괄호 대신에 쉼표를 쓴 후의 중요성은 무엇입니까? 괄호를 중첩하는 것의 의미는 무엇입니까?파이썬 함수 문서에 옵션 args에 대괄호 뒤에 쉼표가 포함 된 이유는 무엇입니까?
그들이 얼마나 :
RegexObject.match(string, [pos], [endpos])
RegexObject.match(string[, pos][, endpos])
파이썬 문서의 함수 시그니처 포맷은 다소 혼란 스럽습니다. 이전 괄호 대신에 쉼표를 쓴 후의 중요성은 무엇입니까? 괄호를 중첩하는 것의 의미는 무엇입니까?파이썬 함수 문서에 옵션 args에 대괄호 뒤에 쉼표가 포함 된 이유는 무엇입니까?
그들이 얼마나 :
RegexObject.match(string, [pos], [endpos])
RegexObject.match(string[, pos][, endpos])
대괄호는 내용이 선택 사항을 의미하지만, 대괄호 이외의 모든 의무 : 나는 다음 중 하나를 기대
RegexObject.match(string[, pos[, endpos]])
. 당신의 표기와
: 내가 가지고있는 기대
RegexObject.match(string, [pos], [endpos])
는 쓰기 : 중첩는 당신이 다음 세 번째 매개 변수를 제공하는 경우 때문에 당신은 또한 심지어 두 번째 매개 변수를 제공해야합니다 필요
r.match("foo",,)
을 그것은 선택적 매개 변수이긴하지만. 다음과 같은 중첩되지 않은 대안은 모호합니다.
RegexObject.match(string[, pos][, endpos])
대괄호는 선택적 인수를 나타냅니다. 쉼표가 대괄호 밖에있는 경우 pos
인수 (예 :)를 사용하지 않으려는 경우에도 쉼표를 입력해야합니다.
그렇지 않으면 올바른 구문은 인수를 무시하는 경우에도 쉼표를 포함하기 때문입니다. 대괄호 안의 부품은 선택 사항이므로 대괄호 밖으로 쉼표를 이동하면 더 이상 선택 사항이 아닙니다. 그것은 매우 우아하지 않다,
RegexObject.match("foobar",,)
을하지만 :
RegexObject.match(string, [pos], [endpos])
내가해야 할 것입니다 : 예를 들어, 단지 문자열로 아래의 함수를 호출합니다.
인수 목록의 모든 선택적 구성 요소를 묶는 대괄호에 대해 생각해 보면 더 적절합니다. 본질적으로, 괄호 안의 내용은 사용자의 재량에 따라 생략 될 수 있습니다.
대괄호는 그 사이의 부분을 생략 할 수 있음을 의미합니다. 그래서 문서가 당신이 제안한대로 작성 되었다면, 모든 것을 대괄호 안에 넣어서 RegexObject.match (string ,,)를 작성할 수 있음을 암시합니다. 또는 RegexObject.match (string, endpos) 두 번째 것을 생략하면됩니다. 그러나 당신은 할 수 없습니다. endpos 밖으로 나가면 그 앞에 쉼표를 써야합니다. 그리고 pos를 떠나면 endpos뿐만 아니라 쉼표도 빠져 나가야합니다. 그래서 그것을 명확하게 만드는 방식으로 쓰여졌습니다.