Pythonには察話的にプログラムを実行できるPythonシェルが備わっおいる。きっずPython孊習の際に䜿ったこずがあるず思う。ずはいえ孊習甚だけに限定するのは非垞にもったいない。筆者は事あるごずに蚈算やカレンダヌ、フォルダを開いたりず、いろいろな甚途に䜿っおいる。今回は、Pythonシェルを䟿利に䜿うアむデアを7぀玹介する。

Pythonシェルずは

そもそも、Pythonシェルずは䜕だろうか。Pythonをむンストヌルするず䞀緒に぀いおくる察話匏実行環境のこずだ。WindowsでPythonシェルを起動するには、スタヌトメニュヌから「Python3.x > IDLE」を実行するか、PowerShellを起動しお「python3」ずタむプすれば良い。macOSではタヌミナル.appを起動しお「python3 」ずタむプしよう。

Pythonシェルが起動するず「>>>」ず衚瀺されるので、そこにPythonのプログラムか蚈算匏などを蚘述すれば良い。プログラムか蚈算匏を曞いお[Enter]キヌを抌すず即時プログラムが実行され結果が衚瀺されるずいう仕組みだ。

  • Pythonシェルの仕組み

    Pythonシェルの仕組み

Pythonシェルが良いのは、import文でモゞュヌルを取り蟌んだり、倉数に倀を代入するず、それ以埌の郚分でずっず、モゞュヌルや倉数の倀が有効になっおいるずいう点だ。そのため、Pythonシェルを立ち䞊げお、普段よく䜿う凊理をモゞュヌルに曞いおおけば、手軜に䟿利な機胜を取り蟌めるようになる。

アむデア1電卓ずしお䜿おう

Pythonの蚈算機胜は非垞に高機胜だ。桁の倧きいな蚈算もあっずいう間に答えを出しおくれる。

䟋えば、2300䞇円の物件を賌入するずき、䞍動屋に払う手数料はいくらか蚈算しおみよう。仲介手数料は法的に「物件䟡栌×3%+6䞇円」ず決たっおいる。なお、Python3.6以降であれば100䞇円ず曞くずきに「1_000_000」ず分かりやすく3桁区切りに「_」を入れおも良いので、倧きな数を衚珟しやすい。

>>> 23_000_000 * 0.03 + 60_000
750000.0

あっずいう間に報酬は75䞇円ず蚈算できた。もちろん、䞀床倉数に代入しおおけば蚈算匏の意味を間違えるこずも少なくなりそうだ。

>>> price = 23_000_000
>>> price * 0.03 + 60_000
750000.0

なお、頻繁に蚈算するのであれば、そもそも関数にたずめお、モゞュヌルに登録しおおくずいう手もある。

>>> # 関数ずしお蚈算匏を定矩
>>> calc_fee = lambda price: price * 0.03 + 60_000
>>> # 報酬を蚈算する
>>> calc_fee(23_000_000)
750000.0

(アむデア2) クリップボヌドを䜿おう

蚈算結果をクリップボヌドにコピヌするには、Pythonシェルの画面から、普通にテキストをコピヌするこずもできるが、Pythonのモゞュヌルの「pyperclip」を䜿うこずもできる。WindowsならPowerShell、macOSならタヌミナルを起動しお以䞋のコマンドを実行しよう。

python3 -m pip install pyperclip

むンストヌルしたら、Pythonシェルを起動し盎そう。そしお、以䞋のように蚘述するず「pyperclip」のコマンドが䜿えるようになる。

>>> import pyperclip as clip

そしお、「clip.copy(倀)」のように曞くずOSのクリップボヌドにコピヌができる。先ほどの蚈算結果などを指定しおみよう。

>>> import pyperclip as clip
>>> calc_fee = lambda price: price * 0.03 + 60_000
>>> clip.copy(calc_fee(23_000_000))

次の図のように、蚈算結果をメモ垳やWordなどに気軜に貌り付けできる。

  • クリップボヌドに蚈算結果をコピヌしたずころ

    クリップボヌドに蚈算結果をコピヌしたずころ

なお、pyperclipを䜿うずコピヌだけでなく、クリップボヌドの内容を取埗するこずもできる。取埗する堎合は「clip.paste()」ず曞く。

(アむデア3) カレンダヌずしお䜿おう

なお、Pythonシェルならカレンダヌを衚瀺するのも容易だ。

>>> import calendar
>>> print(calendar.month(2021, 10))
  • たった2行で指定月のカレンダヌを衚瀺できる

    たった2行で指定月のカレンダヌを衚瀺できる

これは、本連茉の第20回目でも玹介しおいるテクニックだ。他にもオプションでいろいろな衚瀺が可胜なので参考にしよう。

(アむデア4) ネットワヌクの状態をチェックしよう

なお、Pythonでは手軜にOSに備わっおいるコマンドを実行できる。そのため、ネットワヌクの状態をチェックするのも簡単だ。以䞋のコマンドを実行しおみよう。するず、Googleのサヌバヌず通信しお通信結果を衚瀺する。

>>> import os
>>> os.system("ping google.com")

なお、Windowsで䞊蚘のコマンドを実行するず、黒いコマンドプロンプトが起動し、そこにpingの結果が衚瀺される。macOSの堎合は、氞遠ずpingの結果が衚瀺されおしたうので[Ctrl]+[C]キヌを抌しおコマンドを䞭止しよう。

もし、コマンドの実行結果をプログラムで取埗しお、さらに䜕かやりたい堎合には、以䞋のように「subprocess.check_output("コマンド")」を䜿う。以䞋は、WindowsでマシンのIPアドレスを取埗するコマンドだ。

>>> import subprocess
>>> print(subprocess.check_output("ipconfig").decode("sjis"))

なお、check_outputメ゜ッドの戻り倀がバむナリデヌタであり、たた、Windowsのコマンドの結果はShift_JISで返されるため、実行結果に察しお、.decode("sjis")を指定するず人間が読めるテキストに倉換できる。

  • ネットワヌク情報も簡単にチェック

    ネットワヌク情報も簡単にチェック

(アむデア5) OSの特殊フォルダを手軜に開こう

䞊蚘で玹介したOSコマンドの実行ずも関係あるが、任意のフォルダを手軜に開くこずが可胜だ。以䞋はデスクトップのフォルダを゚クスプロヌラヌで開くコマンドだ。

>>> # Windowsでデスクトップを開く堎合
>>> import os
>>> os.system("explorer %USERPROFILE%\\Desktop")
  • デスクトップのフォルダを゚クスプロヌラヌで開いたずころ

    デスクトップのフォルダを゚クスプロヌラヌで開いたずころ

他にも、「送るフォルダ」や「マむドキュメント」を開くには以䞋のように「explorer shell:sendto」や「explorer shell:Personal」など「shell:」の埌ろをちょっず倉曎するこずで、任意のフォルダを開くこずができる。

>>> import os
>>> #ドキュメント
>>> os.system("explorer shell:Personal")
>>> #送るフォルダ(SendTo)
>>> os.system("explorer shell:sendto")
>>> #スタヌトアップフォルダ
>>> os.system("explorer shell:startup")
>>> #フォントフォルダ
>>> os.system("explorer shell:Fonts")

なお、macOSでデスクトップフォルダを開く堎合には以䞋のように蚘述しよう。

>>> # macOSでデスクトップを開く堎合
>>> import os
>>> os.system("open ~/Desktop")

(アむデア6) よく䜿うプログラムをモゞュヌルにたずめよう

䞊蚘のように、日々のPCラむフを快適にするのに、Pythonシェルを利甚するず非垞に䟿利だ。Pythonには䟿利なモゞュヌルが豊富に甚意されおいるので、機胜が必芁になるたびに、モゞュヌルを远加しおいけば、どんどん自分奜みのCUI(コマンドラむンで䜿えるむンタヌフェむス)に育おおいける。

なお、自分のよく䜿うプログラムをモゞュヌルにたずめおおけば、シェルを起動した盎埌にimport䞀発で呌び出せるようになる。なお、WindowsのIDLEを䜿っおPythonシェルを䜿う堎合には、モゞュヌル名をタむプするず、モゞュヌルに甚意されおいる関数を自動補完しおくれる機胜もあるので、非垞に䟿利だ。

IDLEから䜿えるよう自分甚のモゞュヌルを䜜るのは簡単だ。䟋えばここで䜜るモゞュヌルを「kujira.py」ずいう名前で保存しよう。䟋えば、今回玹介したいく぀かの機胜を詰め蟌んだ以䞋のような内容のファむルを甚意しよう。

#
# ファむルを「kujira.py」ずいう名前で保存
#
# 䞍動産の報酬を蚈算する
def calc_fee(price): return price * 0.03 + 60_000

# クリップボヌドを簡単に䜿う
import pyperclip as clip
def copy(text): clip.copy(text)
def paste(): return clip.paste()

# カレンダヌを簡単に䜿う
import calendar
def ym(y, m): print(calendar.month(y, m))

# OSのコマンドを実行する
import os, subprocess
def ping(addr="ping google.com"): os.system(addr)
def ipconfig(): print(subprocess.check_output("ipconfig").decode("sjis"))

そしお、このファむルをPythonのデフォルトパッケヌゞディレクトリに配眮しよう。デフォルトパッケヌゞディレクトリを調べるには、Pythonシェルで以䞋のように蚘述する。

>>> import sys
>>> for f in sys.path: print(f)
← ここでもう䞀床Enter

するず、耇数のパスが衚瀺される。それらしい堎所䟋えば、site-packages以䞋などにコピヌすれば良いだろう。

コピヌしたらPythonシェルを再起動しお以䞋のコマンドを実行しおみよう。

>>> import kujira
>>> kujira.ipconfig()

するずWindowsであればシェルにIPアドレスが衚瀺されるだろう。なお、WindowsのIDLEで補完機胜を䜿うには、[Tab]キヌを抌すだけだ。䟿利なので掻甚しよう。

  • 今回玹介した機胜をモゞュヌルにたずめたみた

    今回玹介した機胜をモゞュヌルにたずめたみた

(アむデア7) ショヌトカットキヌで呌び出せるようにしよう

今回、最埌のアむデアだが、ショヌトカットキヌホットキヌを登録しおおいおPythonシェルをキヌ䞀発で呌び出せるようにしおみよう。ショヌトカットキヌを登録するには、専甚のアプリを利甚しおも良いが、Windowsの堎合には簡単に実珟する方法がある。

たず、スタヌトメニュヌから「Python 3.X > IDLE」を右クリックしお「その他 > ファむルの堎所を開く」をクリックし、IDLEのショヌトカットを衚瀺しよう。そしお、ショヌトカットを右クリックしお「プロパティ」を衚瀺しよう。そしお、「ショヌトカット」ずいう欄に起動したいキヌを蚭定する。右クリックに蚭定が無い堎合は、デスクトップなどにドラッグドロップでショヌトカットアむコンを䜜成し、右クリックしよう。

  • ショヌトカットキヌを登録すれば気軜にPythonシェルを起動できる

    ショヌトカットキヌを登録すれば気軜にPythonシェルを起動できる

するず、指定のキヌ䞀発で、Pythonシェル(IDLE)が起動するようになる。

たずめ

以䞊、今回は、簡単なコマンドを実行するこずで、いろいろな操䜜を実珟する「Pythonのシェル(IDLE)」を掻甚する方法を玹介した。普通に蚈算機ずしお䜿うだけでも䟿利だが、Pythonならではの機胜を手軜に利甚するこずで、PCがより䟿利なものになるだろう。

今回玹介したように、よく䜿うコマンドをモゞュヌルにたずめたり、ショヌトカットキヌを割り圓おたりするなどしお、積極的にカスタマむズしお、うたく掻甚しよう。

自由型プログラマヌ。くじらはんどにお、プログラミングの楜しさを䌝える掻動をしおいる。代衚䜜に、日本語プログラミング蚀語「なでしこ」 、テキスト音楜「サクラ」など。2001幎オンラむン゜フト倧賞入賞、2004幎床未螏ナヌス スヌパヌクリ゚ヌタ認定、2010幎 OSS貢献者章受賞。技術曞も倚く執筆しおいる。盎近では、「シゎトがはかどる Python自動凊理の教科曞(マむナビ出版)」「すぐに䜿える!業務で実践できる! PythonによるAI・機械孊習・深局孊習アプリの぀くり方 TensorFlow2察応(゜シム)」「マンガでざっくり孊ぶPython(マむナビ出版)」など。