python - 関数 - 複数行コメントアウト




Pythonで複数行コメントを作成する方法は? (9)

私は最近、 Python研究を始めましたが、複数行のコメントを実装する方法を見つけることができませんでした。 ほとんどの言語にはコメント記号がブロックされています

/* 

*/

私はPythonでこれを試しましたが、エラーが発生するので、これはおそらく正しい方法ではありません。 Pythonには実際に複数行のコメント機能がありますか?


3重引用符で囲まれた文字列を使うことができます。 それらがdocstring(クラス/関数/モジュールの最初のもの)でないとき、それらは無視されます。

'''
This is a multiline
comment.
'''

IndentationErrorを避けるために先頭の'''適切にインデントすることを確認してください。)

Guido van Rossum(Pythonの作成者) はこれを「プロフェッショナル」としてツイートしました。

しかし、PythonのスタイルガイドPEP8は、 連続した1行のコメントを使用することを好みます。これは多くのプロジェクトでも見られます。 編集者は通常これを簡単に行うためのショートカットを持っています。



Python 2.7では、複数行のコメントが次のようになります。

"""
This is a
multilline comment
"""

あなたがクラスの中にいる場合は、正しくタブする必要があります。

例えば:

class weather2():
   """
   def getStatus_code(self, url):
       world.url = url
       result = requests.get(url)
       return result.status_code
   """

私はそれが助けて欲しい!


Pythonでの複数行のコメント:私にとって、 '' 'と' '"

例:

a = 10
b = 20
c = a+b
'''
print ('hello')
'''
print ('Addition is : ',a+b)

例:

a = 10
b = 20
c = a+b
"""
print ('hello')
"""
print ('Addition is : ',a+b)

あなたがコメントを書いた場合

"""
long comment here
"""

スクリプトの途中で、python / lintersはそれを再認識しません。 上記のコメントは標準的な推奨事項の一部ではないため、折り畳みがうまくいきません。 使い方が良い

# long comment
# here.

vimを使用する場合は、 https://github.com/tpope/vim-commentaryようなプラグインを使用して、 Vjgccを押して長いコメント行を自動的にコメントアウトすることができます。 ここでVj 2行のコードを選択し、 gccはそれらをコメントアウトします。

上記のようなプラグインを使用したくない場合は、次のような検索と置換を使用できます。

:.,.+1s/^/# /g

これは現在の行と次の行の最初の文字を#置き換えます。


このような複数行コメントの機能はありません。 1行のコードをコメントする唯一の方法は#です。 皆さんの多くは答えを「コメント」しています。 それは動作するようだが、内部的にはPythonで、 "#"を使用してコメントを無視しないインタプリタが通常の文字列として囲まれた行を取ります。

公式のドキュメントはこちら


コメントする方法:

'''
   Comment what you want here
'''

または

 """
    Comment what you want here
 """

受け入れられた答えから...

3重引用符で囲まれた文字列を使うことができます。 それらがdocstring(クラス/関数/モジュールの最初のもの)でないとき、それらは無視されます。

これは単に真実ではありません。 コメントとは異なり、三重引用符で囲まれた文字列は引き続き解析され、ソースコードのどこに表示されるかにかかわらず、構文的に有効でなければなりません。

このコードを実行しようとすると...

def parse_token(token):
    """
    This function parses a token.
    TODO: write a decent docstring :-)
    """

    if token == '\\and':
        do_something()

    elif token == '\\or':
        do_something_else()

    elif token == '\\xor':
        '''
        Note that we still need to provide support for the deprecated
        token \xor. Hopefully we can drop support in libfoo 2.0.
        '''
        do_a_different_thing()

    else:
        raise ValueError

あなたはどちらかを取得します...

ValueError: invalid \x escape

... Python 2.xまたは...

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 79-80: truncated \xXX escape

... Python 3.xで。

パーサーによって無視される複数行のコメントを行う唯一の方法は...

elif token == '\\xor':
    # Note that we still need to provide support for the deprecated
    # token \xor. Hopefully we can drop support in libfoo 2.0.
    do_a_different_thing()

私は、複数行の文字列が処理されていないことを除いてはそうではないと思います。 しかし、ほとんどのPython IDEに、複数行のコードを「コメントアウト」するショートキーがあるわけではありません。







comments