파이참에서 폴드한 함수의 코멘트를 함수가 정의된 그 라인에 남기는 법

Ctrl+Alt+T 를 누르면 파이참에서 특정 구간을 폴딩 설정을 할 수 있습니다. 다음과 같은 모양새가 됩니다.

# pragma region 여기는 폴딩구간
블라블라
# end region

이것은 아래와 같이 접혀집니다

[회색]여기는 폴딩구간 ...

접히는 라인에 바로 코멘트를 달 수 있어서 꽤 맘에 듭니다.

이런 폴딩구간 설정을 하지 않아도 대부분의 함수들은 그 함수의 정의부에서 종결부까지 접히는 기능을 자동으로 지원합니다.

def fold_it():
    # 이 함수는 접는 것을 보여주는 함수입니다.
    블라블라
    블라블라

는 아래와 같이 접힙니다.

def fold_it():...

저는 대부분의 함수들의 주석문을 잘 남겨 놓지만, 이렇게 접어 놓으면 이 함수가 무엇을 하는지 알아보기 힘들어서, 아래처럼 되었으면 좋겠습니다.

def fold_it():...  # 이 함수는 접는 것을 보여주는 함수입니다.

안에 남겨 놓는 주석문이 아니라 따로 주석문을 작성해도 좋으니,

파이참에서 함수를 접을 경우 그 함수에 대한 코멘트를 함수의 정의문과 같은 라인에 남겨놓는 방법이 있습니까?

1답변

  • 좋아요

    0

    싫어요
    채택취소하기

    폴딩은 파이참에서 지원하는거고, pragma가 python의 기본사항이 아닙니다.

    함수들의 주석은 docstring 형태로 작성하도록 PEP에서 규정하고 있습니다. docstring은 다음과 같이 작성합니다

    ef discount_rewards(rewards, gamma=FLAGS.gamma):
        """Returns discounted rewards by a rate, `gamma`
    
        When a reward is nonzero,
        the game has been reset ("Pong" specific)
    
        Parameters
        ----------
        rewards : 1-D Array
            Rewards np.ndarray of shape (n_samples,)
        gamma : float, optional
            Discount rate. Usually it should be handled
            by `FLAGS.gamma` (default: 0.99)
    
        Returns
        -------
        dicounted_r : 1-D Array
            Discounted rewards of shape (n_samples,)
    
        Example
        -------
        >>> r = np.array([1, 1, 1])
        >>> discount_rewards(r, 0.99)
        np.array([1 + 0.99 + 0.99**2, 1 + 0.99, 1])
        """
        discounted_r = np.zeros_like(rewards)
        return discounted_r
    

    위와 같은 형태로 docstring을 작성하시면, IDE등에서 해당 함수를 사용 시 docstring이 화면에 노출되게 됩니다.

    제가 파이참을 사용하지 않아서 폴딩이 어떻게 될지는 테스트 할 순 없었네요.

    • 저도 이렇게 매 함수, 클래스마다 주석을 남겨 두기는 하는데, 이건 그냥 접히더라고요 광자 2018.1.10 09:46

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.