GW特別企画6日目。
10連休も半分終わってしまい悲しいお気持ち。
前回はこちら
今回はモジュールのimport
。
Pythonのコア部分は最小の構成で構築されているので、プログラミングに必要な機能があれば適時import
する必要がある。
モジュールとは、Pythonコードをまとめたファイルのこと。
モジュールをimport
することで、モジュール内のコード、変数などをプログラムで使用することができる。
モジュールのimport
基本構文
import [module名]
Pythonファイルの.py
を取り除いたもの。
random
モジュールをimport
する場合
import random fruits = ['apple', 'orange', 'strawberry'] print(random.choice(fruits))
部分的にimportをする
モジュールを全体的にimport
するのではなく部分的に必要な場合、部分的にimport
することも可能。
from random import choice fruits = ['apple', 'orange', 'strawberry'] print(choice(fruits))
別名でimportすることも可能
as
を利用することで、別名でimport
することも可能
from random import choice as select # choice()をselect()としてimportしている fruits = ['apple', 'orange', 'strawberry'] print(select(fruits))
時と場合に応じて使い分ける。
コマンドライン引数を受け取る(sys)
コマンドライン引数とは、pythonファイルを実行する際に入力値として与える引数のこと。
Pythonではsys
モジュールをimport
することで実現可能。
sys.argv
とアクセスすると、コマンドライン引数で渡した値にアクセス可能。
0要素目には実行中のファイル名が入る。 1要素目以降は、引数に渡されたものが入る。
下記のようなprint_argv.py
を作成する。
import sys print(ファイル名:=>sys.argv[0]) print(引数1=====>sys.argv[1])
下記のコマンドで実行してみる。
$ python print_argv.py 'test ' ファイル名=>print_argv.py 第1引数====>test
引数として与えたtest
という文字列がプログラム上に引き渡されたことがわかる。
Let's Try
電卓プログラムを作る
今まで学んだことの総合課題。
コマンドライン引数として与えられた数値1、数値2を、オペレータにより計算をするようなcalculator.py
ファイルを作る。
仕様
- 与えられたコマンド引数に従って数値を計算する電卓プログラムを作成してください
コマンドライン引数で下記を与えられること
- 第1引数: 数値1
- 第2引数: 数値2
- 第3引数: オペレータ(+-*/)
エラー処理を行うこと
- 第1引数、第2引数に数値以外(文字列
hoge
など)が割り当てられた時エラー文を表示すること - 第3引数に
+
,-
,*
,/
以外のものが与えられた場合エラー文を表示すること - 数値2に
0
が与えられ、除算が行われた時、エラー文を表示すること - 引数が足りない場合エラー文を表示すること
- 第1引数、第2引数に数値以外(文字列
出力例
期待する出力
# 足し算 $python calculator.py 2 3 + 5 # 引き算 $ python calculator.py 90 8 - 82 # 乗算 $ python calculator.py 6 7 '*' 42 # 除算 $ python calculator.py 6 2 / 3.0
エラー表示の出力
引数2に数値以外の値(hoge
)を与えた場合
$ python calculator.py 6 hoge + [ERROR]: 計算する値は数値を入力してください。
ゼロ除算を行なった場合
$ python calculator.py 5 0 / [ERROR]: 割り算を行う際に0徐算が発生しました。第2引数を1以上の数値にしてください。
まとめ
次回はこちら