2012-11-07 4 views
1

펩 8은 다음과 같은 규칙이 개 빈 라인Pep8 Python3.3 모순

빈 줄

별도의 최상위 함수 및 클래스 정의를 가지고있다. 클래스 내에

메소드 정의 단일 공백 ​​ 라인에 의해 분리된다.

빈 줄은 관련 기능을 별도의 그룹 (드물게) 사용될 수있다. 빈 라인은 관련 one-liners (예 : 일련의 더미 구현) 사이에서 생략 될 수 있습니다. 기능에

를 사용하여 빈 줄, 드물게, 논리적 섹션을 나타냅니다.

파이썬 공백 로서 (즉^L) 용지 공급 문자 제어를 받아 L; 많은 도구가 이러한 문자를 페이지 구분 기호로 취급하므로 파일의 관련 섹션을 구분하는 데이 문자를 사용할 수 있습니다. 일부 편집자 및 웹 기반 코드 뷰어는 control-L을 양식 피드로 인식하지 못하고 그 자리에 다른 글리프를 표시합니다.

class bunny: 
    def spam(self): 
     pass 

    def eggs(self): 
     pass 

#a second example 
class bunny2: 
    def __init__(self): 
     self._eggs = None 

    def eggs(self): 
     doc = "Spam and Eggs" 

     def fget(self, value): 
      return self._eggs 

     def fset(self, value): 
      self._eggs = value 

     def fdel(self): 
      del self._eggs 

     return locals() 
    eggs = property(**eggs()) 

스팸과 계란 사이의 라인이 비어 있어야합니다 :

그러나, 당신은 내 머리에서 클래스 (고화질)

예 내부 완전히 빈 줄을 가질 수 없습니다 그러나 라인은 예기치 않은 들여 쓰기가 발생하여 구문 분석 오류가 발생합니다. 그 공간에 들어가야 할 또 다른 캐릭터가 있습니까? 필자의 가정은 공백/탭을 "공백"행에 두는 것이 더 읽기 쉽기 때문입니다. 구문 분석이 제대로 작동하려면 중첩 인증 된 정의가 이전 라인을 가질 필요가 두 번째 예에서

유지 들여 쓰기. 이 문제를 해결하는 올바른 PEP 8 방법은 무엇입니까? 빈 줄, 공백없는 공백, 줄 없음?

+0

코드에 문제가있는 것 같습니다. 혼합 된 탭과 공백, 아마도? –

+0

공백과 탭이 섞이지 않아도 모든 탭입니다. 내 질문은 그 공백 라인을 기반으로 그들이 "공백"(공백 여전히 문자입니다 만들기) 배치 블록과 들여 쓰기를 유지해야합니다 내 코드는 문제의 예제입니다 잘 실행됩니다. 빈 줄 사이에 공백이 포함되어 있거나 생략해야합니다. 블록 중간에서 완전히 빈 줄을 사용할 수는 없으며 최소한 블록이 들여 쓰기되는 블록의 들여 쓰기 레벨을 가져야합니다. – Bear

+0

REPL을 다루고 있습니까? 언어 그 자체에는 당신이 말한 것과 같은 제한이 없습니다. –

답변

1

REPL에서 작업하는 경우 완전히 빈 줄을 사용할 수 없습니다. 그러나 REPL에 입력 된 코드가 PEP 8을 엄격히 준수 할 이유는 없습니다. 그러나 파일 내부에서 PEP 8을 따르는 것이 좋습니다.

+0

좋아, 그게 내가 알아 내려고 시도한거야, 내가 repl와 함께 일하고있어 그래서 당신은 빈 라인을 가질 수 없습니다. 그것은 완전한 의미를 갖습니다. 감사! – Bear

관련 문제