programing

검은색 포맷터 - 특정 다중 라인 코드 무시

muds 2023. 6. 25. 20:39
반응형

검은색 포맷터 - 특정 다중 라인 코드 무시

다음과 같은 방법으로 특정 다중 회선 코드를 무시합니다.black비단뱀 포메터특히, 이것은 사용됩니다.np.array또는 포맷하면 보기 흉하게 변하는 행렬 구성.다음은 예입니다.

np.array(
    [
        [1, 0, 0, 0],
        [0, -1, 0, 0],
        [0, 0, 1, 0],
        [0, 0, 0, -1],
    ]
)
# Will be formatted to
np.array([[1, 0, 0, 0], [0, -1, 0, 0], [0, 0, 1, 0], [0, 0, 0, -1]])

이 문제를 발견했습니다.blackgithub, 하지만 그것은 인라인 명령에서만 작동합니다. 이것은 제가 여기서 가지고 있는 것이 아닙니다.

다중 회선 코드에 대해 이를 달성하기 위해 제가 할 수 있는 일이 있습니까?

사용할 수 있습니다.#fmt: on/off링크된 이슈에서 설명한 바와 같이 (계속).여기서는 다음과 같이 표시됩니다.

# fmt: off
np.array(
    [
        [1, 0, 0, 0],
        [0, -1, 0, 0],
        [0, 0, 1, 0],
        [0, 0, 0, -1],
    ]
)
# fmt: on

# fmt: off으로 다시 활성화될 때까지 모든 다음 라인에 대한 형식 지정을 비활성화합니다.# fmt: on.

코드를 약간 변경하려는 경우 검은색은 다음 중 하나를 그대로 둡니다.

contents = [
    [1, 0, 0, 0],
    [0, -1, 0, 0],
    [0, 0, 1, 0],
    [0, 0, 0, -1],
]

np.array(contents)

이는 다중 줄 목록의 뒤에 오는 쉼표가 마법이기 때문입니다.검은색은 앞으로 목록을 확장할 계획이 있음을 의미하는 것으로 간주하지만, 이 경우에는 블랙의 스타일이 그다지 읽을 수 없음을 의미합니다.안타깝게도 목록이 추가 함수 호출로 감싸졌을 때 뒤에 오는 쉼표는 충분히 작동하지 않습니다.

np.array(
    [
        # just say anything
        [1, 0, 0, 0],
        [0, -1, 0, 0],
        [0, 0, 1, 0],
        [0, 0, 0, -1],
    ]
)

이것은 블랙이 파이썬의 인라인 댓글 부족을 이길 수 없기 때문입니다!

블랙의 최신 버전( >= 21.0)은 마지막 요소 뒤에 있는 쉼표를 고려합니다.

그래서:

np.array(
    [
        [1, 0, 0, 0],
        [0, -1, 0, 0],
        [0, 0, 1, 0],
        [0, 0, 0, -1]
    ]
)

형식은 다음과 같습니다.

np.array([[1, 0, 0, 0], [0, -1, 0, 0], [0, 0, 1, 0], [0, 0, 0, -1]])

(마지막 쉼표 없음 참고)

대신

np.array([[1, 0, 0, 0], [0, -1, 0, 0], [0, 0, 1, 0], [0, 0, 0, -1],])

형식은 다음과 같습니다.

np.array(
    [
        [1, 0, 0, 0],
        [0, -1, 0, 0],
        [0, 0, 1, 0],
        [0, 0, 0, -1],
    ]
)

(마지막 쉼표 참고)

언급URL : https://stackoverflow.com/questions/58584413/black-formatter-ignore-specific-multi-line-code

반응형