MAYA,Python Python コメントアウトの書き方-MAYA アーティストのスクリプト入門-

Python コメントアウトの書き方-MAYA アーティストのスクリプト入門-

python_comment_out_topimage

皆さんの書いたプログラムコードは他の人に理解されてますか?

正直筆者は過去に自分で書いたプログラムコードの意味が分からない時があります。

さて今回はPythonのコメントアウトの書き方を紹介します。

コメントアウトは主にコードの意味や目的を説明する意図で使われます。

例えば

import maya.cmds as cmds

files_list = cmds.ls(type="file") # タイプがfileのオブジェクトを全てリストする

print(files_list[0]) # リストから一番目のfileオブジェクトの名前を表示


他にプログラムコードの特定箇所をコメントアウトして一時的に無効する使い方もあります。

プログラムの中で特定箇所のコードをコメントアウトして、違うコードを確かめてみたり、不具合箇所を見つける等デバック用途に使ったりもします。

Pythonスクリプトで行単位ごとにコメントアウトする書き方

行単位でコメントアウトする時は

#

を使います。

#をコメントアウトしたい箇所の先頭に付けるだけで、その箇所がコメントアウトされます。

# コメントアウト
print("Comment out") # コメントアウト

#を付けた箇所以降の行は全てコメントアウトされます。

Pythonスクリプトで複数行単位ごとにコメントアウトする書き方

Pythonで複数行単位のコメントアウトする場合は。

ダブルクォーテーション3つで囲む

"""
コメントアウトA
コメントアウトB
コメントアウトC

""" 

又は

シングルクォーテーション3つで囲む

'''
コメントアウトA
コメントアウトB
コメントアウトC

''' 

どちらもクォーテーションで囲って文字列にする事でコメントアウトと同じ様に使えます。

関数やクラス等に説明文を記述する書き方と取り扱い方法

「ダブルクォーテーション3つで囲む」「シングルクォーテーション3つで囲む」

どちらの方法も関数やクラスの説明やヘルプを記述する用途で使えます。

関数やクラスの説明文を記述する方法を docstring と言います。

docstringの使い方

docstringを入れ込んだ関数を書きました。

def docstring_test(*args):
    """
    Help_comment_text0
    Help_comment_text1
    Help_comment_text2
    
    """
    comment_str = "Comment out"
    print(comment_str)

この関数を

docstring_test()

で実行すると

Comment out

とprint()で内容が出力表示されます。

そして今度は

help(docstring_test)  

で実行すると  

Help on function docstring_test in module __main__:

docstring_test(*args)
    Help_comment_text0
    Help_comment_text1
    Help_comment_text2

ヘルプとしてクォーテーションで囲った部分が出力表示されました。

docstringを使ったMAYAのWindowスクリプト

上記の関数を使ったMAYAのWindowスクリプトを書きました。

import maya.cmds as cmds

def docstring_test(*args):
    """
    Help_comment_text0
    Help_comment_text1
    Help_comment_text2
    
    """
    comment_str = "Comment out"
    print(comment_str)

    
def help_comment_text(*args):
    help(docstring_test)
    
cmds.window( width=150 )
cmds.columnLayout( adjustableColumn=True )
cmds.button( label= 'Print', command= docstring_test )
cmds.button( label= 'Help', command= help_comment_text )
cmds.showWindow()

上記をスクリプトエディターに書き写す又はコピー・ペーストしてください。

スクリプトを選択して、[Ctrl]+[Enter] で実行します

python_comment_out_testtool


Print ボタンをクリックすると

Comment out


Help ボタンをクリックすると

Help on function docstring_test in module __main__:

docstring_test(*args)
    Help_comment_text0
    Help_comment_text1
    Help_comment_text2

ヘルプとしてクォーテーションで囲った部分が出力表示されました。

解説

def help_comment_text(*args):
    help(docstring_test)

docstringのクォーテーションで囲った部分を表示するコードが書かれた関数です

cmds.button( label= 'Print', command= docstring_test )

関数docstring_testを実行する[Print]ボタンです

cmds.button( label= 'Help', command= help_comment_text )

関数help_comment_textを実行する[Help]ボタンです


何れも同じ関数 docstring_test に対して実行してますが
関数のコードを実行したり、help()を使ってdocstringのヘルプを表示したり別の内容を実行できます。

まとめ

Pythonのコメントアウトの書き方を紹介しました

  • Pythonスクリプトで行単位ごとにコメントアウトする書き方
  • Pythonスクリプトで複数行単位ごとにコメントアウトする書き方
  • 関数やクラス等に説明文を記述する書き方と取り扱い方法


3つ目の項目は、2つ目の項目で紹介した複数行単位でコメントアウトする時の書き方で紹介した

ダブルクォーテーション3つで囲む」 
シングルクォーテーション3つで囲む

の余談のような物なので、知識として覚えておくだけで問題ないです。


実際のスクリプティングで頻繁に使うのは 「#」 と「“””」又は「”’」です。

他人が見ても分かりやすい可読性の高いスクリプトコードにするように心がけましょう。


最後に重要な事ですが

コメントアウトでコードの意図を説明する事は可能ですが、それ以前に重要視するべき事があります。

変数や関数等の名前は適当に付けてはダメ、きちんと意味のある名前をつけましょう。

近年「コメントアウトが無くても変数名で意味が伝わるように書くべき」と良く言われます。

決して aaa = 100  のような名前を付ける事が無い様に気をつけましょ。

以上です


Twitter Facebook Pocket LINE はてブ

おすすめの関連記事
コチラの記事も読まれています
あわせてよく読まれている記事