2016-06-03 2 views
-2

이전에는 다음 줄에서 계속하기 위해 Python 코드 줄 끝에 백 슬래시를 사용하는 것이 바람직하지 않다고 들었습니다. 내가 말한 것을 기억하는 것은 괄호 안에 물건을 묶는 것이 더 좋았다는 것입니다.Python의 다중 행 문

(a = 
    b) 

처리의 선호하는 방법에 대한 규칙을 무엇 :

나는 다음과 같은 취급 여러 문장의 정당한 방법이 아니다이고, Where is my syntax error? 나에게 지적 나는 적어도 하나 개의 예외로 도망 생각 파이썬에서 다중 행 문장?

+1

이 될 수있다, 그 다음 더 선호하는 방법이 없습니다 - 다만 당신의 프로그래머, prefer. 많은 과제를 수행하는 경우 공백을 사용하여 모든 연산자를 정렬하는 것이 좋습니다. 선호합니까? 예. 나는 그것을 선호한다. PEP8인가요? 안돼. –

답변

1

내가 기억하는 것은 괄호 안의 내용을 묶는 것이 선호된다는 것입니다.

구문 상 허용되는 경우에만 작동합니다.

표현식을 표시 할 수 있지만 할당과 같은 명령은 사용할 수 없습니다. 보시다시피

,

(a = 
    b) 

이 작동하지 않습니다.

당신은 우리가 올바른 구문을 가지고있다, 그러나

a = (
    b) 

을 시도 할 수 있습니다.

2

전체 구문을 괄호로 묶지 않는 것이 좋습니다. 아이디어는 이미 괄호, 대괄호 또는 중괄호 안에있는 가장 자연스러운 시점에서 줄을 끊는 것입니다. 예를 들어,

x = func(AbsurdlyLongArgumentNameSeriouslyItsWayTooLong1, AbsurdlyLongArgumentNameSeriouslyItsWayTooLong2) 

는 긴 줄이 이미 그것을 깰 자연 점을 포함하지 않는 경우

x = func(AbsurdlyLongArgumentNameSeriouslyItsWayTooLong1, 
     AbsurdlyLongArgumentNameSeriouslyItsWayTooLong2) 

l = [importantthing1, importantthing2, importantthing3, importantthing4, importantthing5, importantthing6] 

l = [ 
    importantthing1, 
    importantthing2, 
    importantthing3, 
    importantthing4, 
    importantthing5, 
    importantthing6 
] 

될 수 될 수 , 괄호를 사용할 수 있습니다. 그 라인의 일부 표현 주위 : 당신이 당신의 자신의 스타일로 작성을 위해 PEP8을 포기하기로 결정하면

number = thing1 + thing2 * thing3/thing4 + thing5 * thing6 * thing7 * thing8 - thing9/thing10 + thing11 

number = (thing1 
      + thing2 * thing3/thing4 
      + thing5 * thing6 * thing7 * thing8 
      - thing9/thing10 
      + thing11)