2
2

More than 1 year has passed since last update.

とりあえずプログラムを実行してみた【ゼロからPython勉強してみる】

Posted at

はじめに

前回までで、色々と入門記事を読みながらPythonの開発環境を整えてみました。
今回は、例のごとく先人の記事を参考にしてPythonでプログラムを実行してみるところまでやっていきます。
単語等の意味も調べながらで完全に理解していないため、まわりくどい書き方が多いです。
誤った認識等があればご指摘ください。

プログラムの動かし方

前々回の記事でPythonの公式ページから、Pythonというプログラミング言語で書くソースコードを実行するためのインタプリタ(CPythonと呼ばれるらしい)をインストールした。このCPythonのようなインタープリタやコンパイラというものを「処理系」と呼ぶらしい。

参考

ということで私の環境では処理系がCPythonのバージョン3.10というのはわかった。
しかし、実際のところどのようにプログラムを実行すればよいのかがいまいち理解できなかったのでメモがてら整理してみた。

インタラクティブモード(対話型)とスクリプトモード

まず、Pythonでプログラムを実行する際には2つの実行モードがある。

参考

インタラクティブモード(対話型)

インタラクティブモードでは対話をするように、コードを1行ずつ入力するとその都度インタープリタが記入したコードに対する結果を返してくれる。

実際にやってみる

試しにPythonのshell(インタープリタ)を使ってインタラクティブモードの処理を見てみる。
PythonのshellはスタートメニューからPython3.○○(64-bit)を起動して使用できる。
コマンドプロンプト、powershellでpythonと入力してPythonを起動しても同じことができる。
プログラムの実行_0.png

実行してみた結果が以下の画像。
>>>の横にコードを1行記入してエンターキーを押すと次の行に実行結果が表示される。
画像でいうと赤点線枠内の1行目で「1+1」を計算するようにコードを書いたので2行目に計算結果の「2」が表示されている。
5、6行目のように変数に何かを代入する処理の場合特に何も表示はされず次の入力に進む。
プログラムの実行_1.png

このようにインタラクティブモードではすぐに結果が分かるためプログラムの一部分の動作を確認する際等に使用する。

スクリプトモード

スクリプトモードは先ほどの対話モードのように1行ずつ結果を返してもらうのではなく、コードを書いてあるソースファイルを読み込んで実行するモード。
多くの場合はこのモードを使用する。

実際にやってみる

とりあえずソースファイルが必要なようなので、試しに次のような内容のソースファイルを作ってみて実行してみる。

test.py
t1 = "test1"
t2 = "test2"
print(t1)
print(t2)
print(t1 + t2)

まず適当なところにテキストファイルを作成する。
今回はC:\Users\ユーザー名\Documents\testに作ってみる。

フォルダを開いて右クリック新規作成テキストドキュメントでテキストファイルを作成して名前をtest.txtにしておく。

メモ帳でもなんでもいいのでtest.txtを開いて先ほどのコードを書く。
プログラムの実行_2.png

上書き保存してtest.txttest.pyにリネームする。プログラムの実行_3.png

コマンドプロンプトかpowershellを起動してソースファイルを読み込んでみます。(今回はコマンドプロンプト)
コマンドプロンプトを開いたら以下のようにpythonの後ろに半角スペースを入力してソースファイルのパスを入力してエンターを押すと実行結果が表示される。
python C:\Users\ユーザー名\Documents\test\test.py
プログラムの実行_4.png

ちなみに対話モード中にソースファイルを読み込もうとpython C:\Users\ユーザー名\Documents\test\test.pyと入力してもエラーが出て読み込めないのでctrl+zEnterで対話モードを終了してから入力すること。
プログラムの実行_5.png

このままだとめんどくさい

ということで実際にプログラムを2つの手法で実行してみることができました。
しかしながら毎回shellを使って直接プログラムを実行するのは今回試しにやってみましたが結構めんどくさい。しかも構文のチェック機能やコードの補完機能もないので非常に不便ということが分かった。

なのでソースコードを書いたり実行する時にはエディタやIDEを使用するのがよいようです。

私は前回VSCodeをインストールしているのでそれを使ってコードの記述、実行をやってみます。

VSCodeをつかってみる

VSCodeは前回インストールしてPythonの拡張機能もインストール済みのため、さっそく起動して使用していきます。
使い方は以下を参考にしました。

作業ディレクトリを作成する

まずは作成するソースコードを保存する作業用のディレクトリ(フォルダ)を作ります。

参考にした記事ではどちらもホームディレクトリの直下にプロジェクトのディレクトリを作っているようですが、私はホームディレクトリが汚くなるのが嫌で、パスも短く済ませられそうなのでCドライブ直下にフォルダを作成してその中に各プロジェクトの作業用ディレクトリを作っていこうと思います。

ディレクトリの作成は参考先でコマンドを使用していたので従ってやっていきます。
(エクスプローラーで作っても別にいいんじゃないかと思いましたが練習のためやってみます。)

コマンドプロンプトを起動して以下のコマンドで設定します。

cd hogehoge(ディレクトリのパス) 
#現在のカレントディレクトリ(現在作業している場所)をhogehogeに設定

mkdir hogehoge
#カレントディレクトリにhogehogeというディレクトリを作成

プログラムの実行_6.png

これで以下のような構造のディレクトリを作成できました。今回はC:¥WorkSpace¥Python¥Practiceの中で作業をしていきます。

C:¥WorkSpase
└─Python
    └─Practice

VSCodeで作業ディレクトリ(フォルダ)を開く

コマンドプロンプトで作成したディレクトリをVSCodeで開きます。
先ほどの画像の③と④がその作業になります。

前回VSCodeをインストールした際にPATHへの追加を行っているため、④のようにcodeという名前だけでコマンドからVSCodeを起動できました。
codeの後ろに書いてある.はカレントディレクトリを意味しますのでカレントディレクトリをVSCodeで開くというコマンドになります。

VSCodeが起動するとこんな画面が出てきますが自分で作成したディレクトリ(フォルダ)ですので自分を信用して親フォルダの信用の項目にもチェックを入れて信用しますのボタンをクリックしましょう。
プログラムの実行_7.png

左側のエクスプローラーの欄に指定したディレクトリが表示されていれば成功です。
私はPracticeを作業フォルダに設定したのでそのように表示されています。
プログラムの実行_8.png

作業フォルダはVSCodeのファイルフォルダーを開く…からダイアログボックスで変更することも可能です。(私的にはディレクトリ(フォルダ)の作成もフォルダをVSCodeで開くのもエクスプローラーやVSCodeのGUI上でやる方が分かりやすかったかもしれません。)
プログラムの実行_9.png

ソースファイルを作成する

ソースファイルを管理するディレクトリは作成出来たので、ソースファイルを作成していきます。

エクスプローラーの欄のPRACTICEのタイトルバーにマウスカーソルを移動するとアイコンが現れるので新しいファイルをクリックします。
プログラムの実行_10.png

テキストボックスが現れるのでソースファイルの名前を拡張子(.py)も含めて記入して、エンターキーでファイルを作成します。
今回はファイル名をhello.pyにしました。
プログラムの実行_11.png

ソースコードを書いてみる

ソースファイルを作成すると、下の画像のように作成したソースファイルのエディター画面が表示されるので、画面に次のコードを記述します。
コードの内容はprintという機能を使ってhello,Python!という文字列を表示させるものです。

hello.py
print("hello,Python!")

プログラムの実行_12.png
プログラムの実行_13.png

記述したらファイル保存(またはCtrl+s)でソースファイルを保存します。
プログラムの実行_14.png

プログラムを実行する

ソースファイルは作成できたので実際に動かしてみます。
まず表示ターミナルまたはターミナル新しいターミナルでターミナルを開きます。
プログラムの実行_15.png

ターミナルを開いたらpython hello.pyと入力してエンターキーを押します。
するとすぐ下にhello,Python!と表示され、これでVSCode上でプログラムを動かすことに成功したことを確認できました。
プログラムの実行_16.png

エディタ画面右上のRun Python Fileのボタンを押すか、表示コマンドパレットでコマンドパレットを表示してPython: Run Python File in Terminalのコマンドを実行することでもプログラムを実行することができます。
プログラムの実行_18.png
プログラムの実行_17.png

今回はここまでとします。
次回はノートブックという機能を使用してみたいと思います。

用語メモ

shebang、シバン、シェバン

参考にした記事(私個人的にはガンマソフト様の記事が分かりやすかった)

今回の記事には出てきていませんが、今回参考にしたサイトでソースコードの最初に#!/usr/bin/env pythonという記述がありました。
この部分はshebang(シバンまたはシェバン)というものらしい。

シバンはソースコードを実行する際に使用するインタープリタを指定するために記述するものとのこと。
私のようにWindows環境でPythonのバージョンも複数ではない場合、自身のみで開発を行うのであればシバンは必要ではない(そもそもWindows自体はシバンに対応しておらず、Pythonランチャで仮想的に解釈している)らしい。

しかし、ソースファイルを共有することを考えた場合、使用するバージョンをそろえるためにも記述した方がよいらしい。
使用するOSによっても扱いは異なり、MacやLinuxでは記述は必須とのこと。

また、記述の形式もOSにより異なりPython3で起動するように記述するには以下のようになる。

Windows
#! python3
Mac、Linux
#! /usr/bin/env python3
#! /usr/bin/python3

Windowsでは#! Python3のみで動くらしいのだが、この形式ではMac、Linuxでは認識されない。逆にWindowsでは/usr/binというディレクトリはないが、#! /usr/bin/env python3と書いてもPythonランチャーがうまいこと認識して機能するらしい。

スクリプトファイルの先頭の行が #! で始まっている場合は、その行はシェバン (shebang) 行として知られています。 Linux や他の Unix 系 OS はこうした行をもともとサポートしているため、それらのシステムでは、スクリプトがどのように実行されるかを示すために広く使われます。 Windows の Python ランチャは、Windows 上の Python スクリプトが同じ機能を使用できるようにし、上の例ではそれらの機能の使用法を示しています。
Python スクリプトのシェバン行を Unix-Windows 間で移植可能にするため、このランチャは、どのインタプリタが使われるかを指定するための大量の '仮想' コマンドをサポートしています。サポートされる仮想コマンドには以下のものがあります:
/usr/bin/env python
/usr/bin/python
/usr/local/bin/python
python
引用:https://docs.python.org/ja/3/using/windows.html?highlight=shebang

なので#! /usr/bin/env python3と書いておけばMacやLinux環境で実行した際にも機能するので一般的にそう書くらしい。

2
2
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
2
2