最後の旅を始めよう

-黒の英雄譚・零-

MAYA Python どっ基礎講座‗06 『インデント』

2023年01月06日 | MAYA_Pyhon...

前項の条件分岐の際に
「インデント」の説明が全く出来なかったので
ここで解説したいと思います。



インデントとは
端的に言ってしまうと、行の頭に空白を入れて文字下げをする事です。
if文のサンプルコードで、分岐後の命令文の先頭にスペースが入っているアレの事です。
#---------------------------------------------
iTestInt = 7
if iTestInt > 5:
    print( "iTestInt は 5 以下です" )
# ↑ コレ
#---------------------------------------------

この、インデント、
多くのスクリプト言語の場合
「視認性を良くする」くらいの目的でしか使われず
別にやらなくても問題無いのですが、
いかんせんPythonの場合は、話が違ってきます。

たとえば、ifの条件分岐の後に処理される命令文は
ifの眷属として”一括りのもの”であるという扱いをする必要があります。
これを『コードブロック』と言います。
大抵の言語では、コードブロックを示すのに{}で囲むのですが、
Pythonではインデントがコードブロックとして使われているのです。





もし仮にインデントが無いコードを走らせた場合・・・

#---------------------------------------------
iTestInt = 7
if iTestInt > 5:
print( "iTestInt は 5 以下です" )
#---------------------------------------------



・・・と、怒られてしまいます。


この、インデントエラー
なかなかシビアな判定の為、初心者泣かせな仕様だったりします。

Pythonのインデントに対する厳しさには鬼気迫るものがあり
少しでも規律を乱す奴が居たら絶対に許してくれません。

たとえば・・・


何もないところでインデントを使う
#---------------------------------------------------------------------
    print( "インデントエラーになるサンプルコード―その①" )
#---------------------------------------------------------------------


コードブロック内でインデントが揃っていない
#---------------------------------------------------------------------
if 100 == 100:
    print( "-------------------------------------------------------" )
     print( "インデントエラーになるサンプルコード―その②" )
    print( "-------------------------------------------------------" )
#---------------------------------------------------------------------

等々・・・

その上、Mayaさんはインデントエラーだけ、何故かエラー箇所を教えてくれないので
慣れないうちは、悩みの種となる部分でもあります。

Maya2023から教えてくれる様になりました。



まあPythonは、これのおかげで
誰が書いていても、ある程度の視認性が約束されるので
むしろメリットの方が多いのですけどね。



ちなみに、
ちょっとした便利機能として
以下のショートカットでインデントの追加と削除が出来ます。

 Ctrl + [  (インデント除去)
 Ctrl + ]  (インデント追加)



次項 → 07_繰り返し処理
前項 → 05_条件分岐
一覧へ

関連-------------------------------------
Python_MAYA機能メモ
Python_MAYA_ちょっとしたツール集
Python_エラーメモ
編集
コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« MAYA Python どっ基礎講座‗05... | トップ | MAYA Python どっ基礎講座‗07... »
最新の画像もっと見る

コメントを投稿

MAYA_Pyhon...」カテゴリの最新記事