web-dev-qa-db-ja.com

Pythonでコードブロックをコメントアウトする方法

Pythonコードの大きなブロックをコメントアウトするメカニズムはありますか?

今のところ、コードをコメントアウトする唯一の方法は、すべての行を#で始めるか、コードを三重引用符で囲むことです:"""

これらの問題は、すべての行の前に#を挿入するのが面倒で、"""が私がコメントとして使いたい文字列を生成されたドキュメントに現れるということです。

すべてのコメントを読んだ後、答えは「いいえ」のようです。

412
gbarry

Pythonはそのようなメカニズムを持っていません。コメントをブロックするには、各行の先頭に#を付けます。詳しくは PEP 8 を参照してください。ほとんどのPython IDEはあなたのために自動的にシャープ記号付きブロックコメントをするメカニズムをサポートしています。たとえば、私のマシンのIDLEでは、 Alt+3 そして Alt+4

あなたが発見したように、三重引用符;を使用しないでください。一時的にコメントアウトしているだけの場合、これは一時的な対策として問題ありません。

395
John Feminella

私が知っている唯一の治療法は良い編集者です。ごめんなさい。

87
canen

Docstringと間違えられないような文脈で三重引用符を隠します。

'''
...statements...
''' and None

または

if False: '''
...statements...
'''
68
bobince

三重引用符なしでこれを行うことができる唯一の方法は、次のものを追加することです。

if False:

そして、あなたのすべてのコードをインデントします。コードにはまだ適切な構文が必要です。


多くのPython IDEでは、選択した各行に#を追加したり、コメント解除時にそれらを削除したりできます。同様に、 vi または Emacs を使用すると、コードブロックに対してこれを実行するマクロを作成できます。

36
Brian R. Bondy

Emacs 'PythonモードのM-x comment-region。

28
Joe W.

Mac上のJetBrains PyCharmでは Command + / 選択したコードブロックをコメント/コメント解除する。 Windowsでは、 CTRL + /

22
marcinj

少なくともVIMでは、ブロックビジュアルモード(Windows以外のVIMではCTRL+V)を使用して挿入するテキストの最初の列を選択してから、次のシーケンスを使用して各行の前に#を追加できます。

I#<esc>

ブロックビジュアルモードでは、Iは最初の行のブロックの前にカーソルを置いて挿入モードに移動します。挿入されたテキストは、ブロック内の each 行の前にコピーされます。

16
Nathan Fellman

vi :に

  • ブロックの一番上に移動して、文字aでマークします。
  • ブロックの一番下に行き、文字bで印を付けます

それから

:'a,'b s!^!#!
8
Jerry

はい、あります(あなたの編集者によります)。 In PyDev (そしてPyDevでは Aptana Studio ):

  • Ctrl + 4 - 選択したブロックにコメントを付ける

  • Ctrl + 5 - 選択したブロックのコメントを解除

5
jacanterbury
comm='''
Junk, or working code 
that I need to comment.
'''

あなたはcommをあなたの選んだ変数で置き換えることができます。それはおそらくより短く、簡単に触れることができ、そしてあなたのプログラムの中では起こらない(そして起こらない)ことを知っています。例:xxxoonullnil

5
Harry

Eclipse + PyDev では、PythonブロックコメントはEclipse Javaブロックコメントに似ています。コメントして使用したい行を選択してください Ctrl + / コメントします。コメント付きブロックのコメントを解除するには、同じことをします。

4
arun

Visual Studioでは、 Visual Studio用Pythonツール を使用して、ブロックをコメントアウトすることができます。 Ctrl+K、 Ctrl+C さんによるコメントアウト Ctrl+K、 Ctrl+U

私は Notepad ++ をWindowsマシンで使って、あなたのコードを選択し、CTRL-Kとタイプしてください。コメントを解除するには、コードを選択してを押します Ctrl + Shift + K

ちなみに、Notepad ++はPythonエディタとしてうまく機能します。自動補完、コードの折りたたみ、構文の強調表示などがあります。そしてそれは言論の中でそしてビールの中でのように無料です!

3
dan

Pythonコード(インタプリタによって無視されるコードとして理解される)をコメントアウトするための唯一のメカニズムは です。

あなたが言うように、あなたはまた 文字列リテラル を使うことができます。そして、それはインタプリタによって無視されませんが、プログラム実行のために全く無関係であることができます。

3
Jaime Soriano

Eclipse using PyDev では、コードブロックを選択してを押すことができます。 Ctrl + #

2
Hamid

Eric4では、簡単な方法があります。ブロックを選択して、 Ctrl+M ブロック全体をコメントするには Ctrl+alt+M コメントを解除する。

1
Evaldo

もう一つのエディタベースの解決策:Emacsのテキスト "長方形"。

コメントアウトしたいコードを強調表示してからC-x-r-t#

コードのコメントを解除するには、強調表示してからC-x-r-k

私は毎日これを終日使っています。 (もちろんホットキーに割り当てられています。)

この強力な正規表現検索/置換は、私がEmacsの他の「偏心」を許容する理由です。

1
JS.

SciTe のような素敵なエディタを使って、あなたのコードを選択し、押してください。 Ctrl + Q そして行った。

ブロックコメントをサポートするエディタがない場合は、コードブロックの最初と最後にトリプルクォート文字列を使用して、効果的にコメントアウトできます。しかしそれはベストプラクティスではありません。

0
Christian Witts

三重引用符は私には問題ありません。ドキュメント文字列には '' 'foo' ''を、コメントには "" "bar" ""を使用することができます。逆の場合も同様です。

0
Anonymous