プログラミング経験ゼロの新社会人がPythonの運用を始めてみた vol.3
今日もお疲れ様です、ムクドリです。
私事ですが、ムクドリは鳥が好きです。私のユーザー名がムクドリなのも鳥が好きなところから由来しています。焼き鳥も大好きです。見るのも食べるのも好きなのははたして許されるのでしょうか。そのうち焼き鳥ブログも始められたらなと思います。笑
さて、今回のトピックは
①対話型シェルでの実行
②モジュールの基本構造の理解
に焦点を当てていきます。
注意 :このブログではpython入門サイト Python-izm | Python の入門から応用までをサポートする学習サイトを参考にpythonを勉強した記録を記述しています。
①対話型シェルでの実行
vol.2で実行した「python ファイル名.py」コマンドは、予め記述されたスクリプトを実行せよという指示を出す形です。これに対し、
「対話型シェル」というのは、目的語を抜きにして実行したい指示のみを入力する。そしてコマンドプロンプトに「何を実行したいの?」と聞かれ、それにこたえる形、すなわち対話をするようにコマンドを実行していくスタイルのことらしいですね。
あらかじめコードを書かなくてよくて楽である一方で、コードを保存できないので、複雑な指示になればなるほど使わなくなりそうだなと思いました。
今回は、対話型シェルで同様に「Hello World!」の出力に挑戦。
前回学んだ、pythonのアプリが格納されているフォルダにあらかじめ移動することに気を付けて…
よいしょ!今回はあまり苦労せずに行けました。
②モジュールの基本構造の理解
だんだん内容が複雑になってきたので、概要をサクッと。
・エンコードの宣言
→Python3系では宣言不要みたいですね。
エンコードは機械専用の言語の総称であり、実際に使われるプログラㇺは、特定の エンコードに変換してから用いられるようです。Python3系では特に記述がない場 合、UTF-8というエンコードに自動で変換するらしく、楽でありがたいです。
・インデントを合わせる
インデントとはコードの頭にスペースをいれて字下げすること。
pythonにおいて、同じインデントをいれたコードはひとまとまりとして判断する (インデントによるブロック構造)という仕様があります。他の言語だとカッコで括ったりするようです。
最初、理解せずに行頭がずれた状態で入力していたときは全く動かなくて「???」となっていました。めちゃくちゃ需要でしたね。
・コメントアウト#
行頭に#をつけると自分のメモとして使える。
・__main__と__name__
記述した.pyを実行した場合は、「スクリプトとして直接呼び出した」ことになります。この時は、__name__は、__main__と書き換えられます。それ以外の場合、例えば実行したコードの中に、別で作成したモジュール(.pyファイル)を呼び出すことがありますが、この場合は、__name__は指定した別の名前に書き替えられることになります。
これを利用して、スクリプトとして直接呼び出したかどうかで指示を分岐させられます。(if 構文)
「スクリプト」という言葉の定義については、以下のサイトがとても分かりやすかったので参考に。
スクリプトとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典 (i-3-i.info)
実行したコードを載せて置きます。
少々長くなってしまいましたが、今回は対話型シェル、スクリプトとして直接呼び出した時のみ実行する条件付き、の2種で「Hello World!」を記述できました。
次回以降も気合入れて頑張っていきたいと思います。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
参考
Python-izm | Python の入門から応用までをサポートする学習サイト
スクリプトとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典 (i-3-i.info)