0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Pythonでコメントのオンオフを簡単にスイッチする

Last updated at Posted at 2022-02-04

方法

コメントアウトしたい部分を# """行で挟み、
頭の#を消すと囲んだ範囲全部がコメントアウト、
もう一度#をつけるとコメントアウト解除されます
(VSCodeならctrl + /のショートカットが便利)

対象範囲にもともと"""がある場合、'''を代用します

# """ ← #をとると
def hoge():
    print("O")
# """ 
"""
def hoge():
    print("X")
# """ # ここまでコメント

原理

引用符で囲んだ範囲は文字列とみなされます
もっとも、引用符の前に#を置くとコメントアウトとして機能します

text1 = "# コメントアウトじゃないよ"
text2 = # "コメントアウトだよ"

また、三連引用符は改行を超えて文字列の範囲を指定できます

text = """
改行できるよ
"""

ここで、一つ目の三連引用符に#を置いてみましょう

text = # """
改行できるよ
"""

一行目の#より右側だけコメントアウトできました
#が有効なのは当該行だけみたいですね
今度は最終行に#を置いてみましょう

text = """
改行できるよ
# """

前述のとおり、引用符内の#はただの文字なのでコメントアウトされません
したがって、三連引用符の締めに#を嚙ませると

  1. 三連引用符の頭をコメントアウトしている場合
    -> 締めの#コメントアウト

  2. 三連引用符の頭をコメントアウトしていない場合
    -> 締めの#文字

となるので、頭の#を付け外しするだけでコメントのオンオフを切り替えられるわけです

応用

前の機能を書き換えたけど消すのもちょっと怖いような場合、
間に三連引用符を挟むことで実装を切り替えることができます

# """
def hoge():
   print(1)
"""
def hoge():
   print("")
# """
"""
def hoge():
   print(1)
"""
def hoge():
   print("")
# """

使う機会が思いつきませんが、スイッチングしたい範囲がとびとびの場合はさらに三連引用符をつけて切り替えることができます

# """
def hoge():
   print(1)
"""
def hoge():
   print("")
"""
def huge():
   print("gif")
"""
def huge():
   print(岐阜")
# """
"""
def hoge():
   print(1)
"""
def hoge():
   print("")
"""
def huge():
   print("gif")
"""
def huge():
   print("岐阜")
# """
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?