最近 Python の勉強を始めましたが、複数行コメントを実装する方法が見つかりませんでした。ほとんどの言語には、次のようなブロックコメント記号があります。
/*
*/
私はPythonでこれを試しましたが、それはエラーを投げるので、これはおそらく正しい方法ではありません。 Pythonには実際に複数行のコメント機能がありますか?
三重引用符で囲まれた文字列を使用できます。それらがdocstringではない場合(クラス/関数/モジュールの最初のもの)、それらは無視されます。
'''
This is a multiline
comment.
'''
(IndentationError
を避けるために、先頭の'''
を適切にインデントするようにしてください。)
Guido van Rossum(Pythonの作成者)は これをツイートしました 「プロの助言」として。
しかし、Pythonのスタイルガイド、PEP8、 は連続した単一行コメントの使用を優先しています 、これは多くのプロジェクトで見られるものです。編集者は通常これを容易にするための近道を持っています。
Pythonには 複数行文字列/コメント構文 があります。つまり、docstringsとして使用しない限り、 複数行文字列はバイトコードを生成しません -#
で始まるコメントのように。実際には、コメントのように機能します。
一方、この動作を正式なドキュメントに文書化して真のコメント構文にする必要があると言う場合、そうです、言語仕様の一部として保証されていないことは言うまでもありません。
いずれの場合でも、エディターは選択した領域を簡単にコメントアウトできるはずです(各行の前に#
を個別に配置することにより)。そうでない場合は、対応するエディターに切り替えます。
特定のテキスト編集機能を使用しないPythonでのプログラミングは、苦痛を伴う経験になる可能性があります。適切なエディターを見つける(およびその使用方法を知る)ことで、Pythonプログラミングエクスペリエンスの認識方法に大きな違いをもたらすことができます。
エディターは選択された領域をコメントアウトできるだけでなく、コードのブロックを簡単に左右にシフトでき、Enterキーを押すとカーソルを現在のインデントレベルに自動的に配置する必要があります。コードの折りたたみも便利です。
リンクの劣化を防ぐために、ここに Guido van Rossumのツイート の内容を示します。
@ BSUCSClub Python tip:複数行のコメントとして複数行の文字列を使用できます。 docstringとして使用しない限り、コードは生成されません! :-)
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
"""
私はそれが役立つことを願っています!
受け入れられた答えから...
三重引用符で囲まれた文字列を使用できます。それらが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にはブロックコメントはありません。個々の行をコメントするには、#
文字を使用できます。
Notepad ++ 、 を使用している場合は、ブロックコメントのショートカットがあります 。 gVim や Emacs のような他の人も似たような機能を持っていると思います。
複数行の文字列が処理されないことを除いて、それはしないと思います。ただし、すべてではないにしてもほとんどのPython IDEには、複数行のコードを「コメントアウト」するためのショートカットがあります。
にコメントを入れたら
"""
long comment here
"""
スクリプトの途中で、python/lintersはそれを認識しません。上記のコメントは標準的な推奨事項の一部ではないため、折りたたみは混乱します。それを使うのが良い
# long comment
# here.
vim
を使用する場合は、 https://github.com/tpope/vim-commentary のようなプラグインを使用して、Vjgcc
を押すと自動的に長いコメント行をコメントアウトできます。 Vj
は2行のコードを選択し、gcc
はそれらをコメントアウトします。
上記のようなプラグインを使用したくない場合は、検索と置換を使用できます。
:.,.+1s/^/# /g
。
これは現在と次の行の最初の文字を#
に置き換えます。
Python 2.7.13の場合:
シングル:
"A sample single line comment "
複数行
"""
A sample
multiline comment
on PyCharm
"""
残念ながら文字列化 いつもではない はコメントアウトとして使用できます。そのため、各行の先頭に#を付けて標準に固定するほうが安全です。
これが一例です。
test1 = [1、2、3、4、]#test1は4つの整数を含みます
test2 = [1、2、 '' '3、4、' '']#test2は2つの整数 と文字列 '3、4、'を含みます。
さて、あなたはこれを試すことができます(引用を実行するとき、最初の質問への入力は'
で引用されるべきです)
"""
print("What's your name? ")
myName = input()
print("It's Nice to meet you " + myName)
print("Number of characters is ")
print(len(myName))
age = input("What's your age? ")
print("You will be " + str(int(age)+1) + " next year.")
"""
a = input()
print(a)
print(a*5)
"""
で囲まれたものは何でもコメントになります。
単一行コメントを探しているなら、それは#
です。
コメントする方法:
'''
Comment what you want here
'''
または
"""
Comment what you want here
"""
このような複数行コメントの機能はありません。 1行のコードにコメントを書くには#が唯一の方法ですあなたの多くはその解決策として '' 'コメント' ''と答えました。それは動作するように見えますが、内部的にはPythonでは '' 'で囲まれた行を通常の文字列として解釈しますが、インタプリタは#のようなコメントを無視しません。
はい、両方を使用しても構いません
'''
Comments
'''
そして
"""
Comments
"""
ただし、IDEで実行中に覚えておく必要があるのは、ファイル全体を「実行」して複数行コードとして受け入れる必要があることだけです。行ごとの「RUN」は正しく機能せず、エラーが表示されます。
マルチラインコメントはここから始まりました
import tkinter as tk
root = tk.Tk()
w = tk.Label( text="Hello Tkinter")
logo = tk.PhotoImage(file="Python.PNG")
w1 = tk.Label(root, image=logo).pack(side="right")
explanation = """At Present, only GIF and PPM/PGM are supported but am
trying it with PNG. Interface does exit to allow image file to be added easily."""
w2 = tk.Label(root, justify=tk.LEFT,padx = 0, text=explanation).pack(side="left")
root.mainloop()
'' '複数行コメントはここで終わります。上記のコードは実行されず、コメントです
コメントを付ける行を選択してから、[CTRL +]を使用します。崇高なエディタでpythonコードをコメントまたはコメント解除する。 単一行の場合は 'shift +#'を使用できます。
Pythonのインラインコメントはハッシュハッシュ文字で始まります。
hello = "Hello!" # this is inline comment
print(hello)
こんにちは!
文字列リテラル内のハッシュ文字は単なるハッシュ文字であることに注意してください。
dial = "Dial #100 to make an emergency call."
print(dial)
#100をダイヤルして緊急電話をかけます。
ハッシュ文字は単一行または複数行のコメントにも使用できます。
hello = "Hello"
world = "World"
# first print hello
# and print world
print(hello)
print(world)
こんにちは
世界
Docstringをサポートするには、テキストを三重二重引用符で囲みます。
def say_hello(name):
"""
This is docstring comment and
it's support multi line.
:param name it's your name
:type name str
"""
return "Hello " + name + '!'
print(say_hello("John"))
こんにちはジョンさん!
ブロックコメントは、テキストを三重一重引用符で囲みます。
'''
I don't care the params and
docstrings here.
'''
Pythonで複数行のコードをコメントアウトするには、すべての行で#
単一行コメントを使用するだけです。
# This is comment 1
# This is comment 2
# This is comment 3
Pythonで「適切な」複数行コメントを作成するには、"""
構文で複数行文字列を使用しますPythonには、ドキュメント文字列(またはdocstrings)機能があります。プログラマーは、すべてのPythonモジュール、関数、クラス、およびメソッドに簡単なメモを簡単に追加できます。
'''
This is
multiline
comment
'''
また、次のようなクラスオブジェクトを使用してdocstringにアクセスできることにも言及してください。
myobj.__doc__
VS Codeユニバーサル公式の複数行コメント切り替え。
macOS:コードブロックを選択してから ⌘+/
Windows:次にコードブロックを選択します Ctrl+/
PyCharm IDEを使う.
comment
およびuncomment
の行を使用して、Ctrl + /。Ctrl + /コメントを付けたり、現在の行または単一行コメントを含む複数行をコメント解除したりできます -({# in Django templates, or # in Python scripts)
Djangoテンプレート内の選択されたソースコードブロックのPressing Ctrl+Shift+/
は、ブロックを{% comment %} and {% endcomment %}
タグで囲みます。
n = 5
while n > 0:
n -= 1
if n == 2:
break
print(n)
print("Loop ended.")
すべての行を選択してからを押すCtrl + /
# n = 5
# while n > 0:
# n -= 1
# if n == 2:
# break
# print(n)
# print("Loop ended.")
複数行コメントは実際にはpythonには存在しません。以下の例は、割り当てられていない文字列で構成されています。これは、構文エラーに対してPythonによって検証されています。 NotePad++
のようなテキストエディタは、書かれたコードや単語にコメントするためのショートカットを提供してくれます。
def foo():
"This is a doc string."
# A single line comment
"""
This
is a multiline
comment/String
"""
"""
print "This is a sample foo function"
print "This function has no arguments"
"""
return True
また、 CTRL + K コメントをブロックするためのNotepad++
内のショートカットは、選択の下の各行の前に#
を追加します。 CTRL + SHIFT+ K ブロックコメント解除用です。
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)