programing

여러 줄 가져 오기에 권장되는 형식이 있습니까?

nasanasas 2020. 8. 13. 23:26
반응형

여러 줄 가져 오기에 권장되는 형식이 있습니까?


파이썬에서 여러 줄 가져 오기를 코딩하는 세 가지 방법이 있음을 읽었습니다.

슬래시 사용 :

from Tkinter import Tk, Frame, Button, Entry, Canvas, Text, \
    LEFT, DISABLED, NORMAL, RIDGE, END

감정 복제 :

from Tkinter import Tk, Frame, Button, Entry, Canvas, Text
from Tkinter import LEFT, DISABLED, NORMAL, RIDGE, END

괄호 포함 :

from Tkinter import (Tk, Frame, Button, Entry, Canvas, Text,
    LEFT, DISABLED, NORMAL, RIDGE, END)

이 진술에 권장되는 형식이나 더 우아한 방법이 있습니까?


개인적으로 두 개 이상의 구성 요소를 가져올 때 괄호를 사용하여 알파벳순으로 정렬합니다. 이렇게 :

from Tkinter import (
    Button,
    Canvas,
    DISABLED,
    END,
    Entry,
    Frame,
    LEFT,
    NORMAL,
    RIDGE,
    Text,
    Tk,
)

이는 각 커밋 또는 PR에서 추가 / 제거 된 구성 요소를 쉽게 볼 수있는 추가 이점이 있습니다.

전반적으로 개인적인 취향이지만 가장 잘 보이는 것을 선택하는 것이 좋습니다.


귀하의 예는 PEP 328 에서 비롯된 것 같습니다 . 거기에서 정확히이 문제에 대해 괄호 표기법이 제안되었으므로 아마도 이것을 선택했을 것입니다.


PEP328 의 괄호 표기법을 사용하여 괄호 앞뒤 에 줄 바꿈을 추가했습니다.

from Tkinter import (
    Tk, Frame, Button, Entry, Canvas, Text, 
    LEFT, DISABLED, NORMAL, RIDGE, END
)

이것은 Django가 사용 하는 형식입니다 .

from django.test.client import Client, RequestFactory
from django.test.testcases import (
    LiveServerTestCase, SimpleTestCase, TestCase, TransactionTestCase,
    skipIfDBFeature, skipUnlessAnyDBFeature, skipUnlessDBFeature,
)
from django.test.utils import (
    ignore_warnings, modify_settings, override_settings,
    override_system_checks, tag,
)

일반적으로 Tkinter에서는 from Tkinter import *모듈이 분명히 위젯 인 이름 만 내보내므로 사용하는 것이 좋습니다 .

PEP 8 은 그러한 경우에 대한 규칙을 나열하지 않으므로 최선의 선택을 결정하는 것은 귀하에게 달려 있다고 생각합니다. 가독성에 관한 것이기 때문에 단일 모듈에서 항목을 가져오고 있음을 명확하게하는 것을 선택하십시오.

이 모든 이름이 귀하의 범위에서 사용 가능하기 때문에 개인적으로 가져온 이름을 가장 잘 볼 수 있으므로 옵션 2가 가장 명확하다고 생각합니다. 그런 다음 더 분할하여 서로 속한 이름을 함께 그룹화 할 수도 있습니다. 귀하의 예제에서 나는 넣어 수도 Tk, Frame그리고 Canvas하면서 그들이 그룹이 함께 위젯으로 분리 Button하고 Text별도로 그들이보기에 작은 구성 요소가있다.

참고 URL : https://stackoverflow.com/questions/14376900/is-there-a-recommended-format-for-multi-line-imports

반응형