Python의 줄임표 객체

Manav Narula 2023년6월21일
  1. 작성되지 않은 코드의 자리 표시자로 줄임표 사용
  2. pass 키워드 대신 줄임표 사용
  3. 다차원 numpy 배열 슬라이싱에서 줄임표 사용
  4. 유형 힌트에 줄임표 사용
  5. 결론
Python의 줄임표 객체

노련한 Python 개발자라면 Python에서 세 개의 점 ... 줄임표 개체를 접했을 수 있습니다. Python 인터프리터에서 이것을 인쇄하려고 하면 줄임표가 표시됩니다.

이 자습서에서는 Python에서 줄임표 개체를 사용하는 방법을 보여줍니다.

작성되지 않은 코드의 자리 표시자로 줄임표 사용

줄임표 개체는 여러 가지 방법으로 사용할 수 있습니다. 주로 작성되지 않은 코드에 대한 자리 표시자 역할을 합니다.

우리가 팀으로 작업하고 함수와 클래스를 정의해야 한다고 가정합니다. 함수와 클래스를 정의하지만 코드가 확실하지 않으므로 세 개의 점(줄임표)을 제자리에 배치합니다.

이렇게 하면 Python 인터프리터가 예외를 발생시키는 것을 방지할 수 있습니다.

아래 코드를 참조하십시오.

def fun():
    ...


print("Use of ellipsis.")

출력:

Use of ellipsis.

위의 예는 fun() 메서드에서 작성되지 않은 코드에 대한 자리 표시자로 줄임표 객체를 배치하는 것을 보여줍니다.

pass 키워드 대신 줄임표 사용

pass 키워드는 파이썬에서 한 줄의 코드를 추가하고 싶지만 아무 것도 실행하지 않으려는 경우에 사용됩니다. 이로 인해 작성되지 않은 코드의 자리 표시자로 사용됩니다.

논의한 바와 같이 생략 부호 객체를 작성되지 않은 코드의 자리 표시자로 사용할 수 있습니다. 따라서 pass 키워드 대신 사용할 수 있습니다.

다음 예에서 이를 확인할 수 있습니다.

def fun1():
    ...


def fun2():
    pass


print("Use of ellipsis.")

출력:

Use of ellipsis.

위의 예는 두 함수가 작성되지 않은 코드의 자리 표시자로 pass와 줄임표를 사용했음을 보여주며 passellipsis 개체로 대체할 수 있음을 보여줍니다.

다차원 numpy 배열 슬라이싱에서 줄임표 사용

이 개체의 또 다른 중요한 용도는 슬라이싱입니다.

슬라이싱은 인덱스를 기반으로 개체에서 요소의 일부를 추출하는 기술을 말합니다. 그것은 대괄호로 이루어집니다.

다차원 배열에서 슬라이싱을 수행할 수도 있지만 배열의 전체 차원을 염두에 두어야 합니다. 줄임표는 주어진 차원을 무시하기 위해 조각 표현식에서 자리 표시자로 사용할 수 있습니다.

다음 코드를 고려하십시오.

import numpy as np

arr = np.array([[7, 5, 2, 3], [1, 8, 9, 2], [3, 2, 1, 0]])
print(arr[:, 2])
print(arr[..., 2])

출력:

[2 9 1]
[2 9 1]

위의 예에서 서로 다른 슬라이싱 표현식에 대해 동일한 결과가 어떻게 반환되는지 확인하십시오. 슬라이스 표현식에서 자리 표시자로 줄임표를 사용하면 매우 유용합니다.

표현식 arr[...,2]는 2차원 배열의 경우 arr[ : ,2]로, 3차원 배열의 경우 arr[ :, : , 2]로 변환될 수 있습니다.

유형 힌트에 줄임표 사용

Python 3.5 이상에서는 이 싱글톤 객체에 대한 또 다른 용도가 도입되었습니다.

유형 힌트를 사용하면 변수, 매개변수 및 반환 값의 유형을 선언할 수 있습니다. 유형 힌트에서 줄임표를 사용하여 유형의 일부만 제공할 수 있습니다.

Tuple[int, ...], Callable[...,int] 등과 같이 사용하여 힌트를 입력할 수 있습니다.

결론

결론적으로 Python의 줄임표 개체와 그 용도에 대해 논의했습니다. 일반적으로 함수 및 클래스에서 작성되지 않은 코드의 자리 표시자로 사용됩니다.

여러 차원을 무시하기 위해 슬라이싱에서 자리 표시자로 사용할 수도 있습니다. Python 3.5는 유형 힌트에서 줄임표를 사용하는 새로운 방법을 도입했습니다.

작가: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn