<<前 [TOP] 次>>
次の2つのプログラムを作ってみましょう。
【input.py】
# input.py import sys class Input: def __init__(self): self.str = None self.i = 0 s = Input() def readString(): try: s.str = input() return s.str except ValueError: print ("エラー:文字を入力してください。") sys.exit() def readInt(): try: s.str = readString() s.i = int(s.str) return s.i except ValueError: print ("エラー:数字以外の文字を入力しないでください。") sys.exit()
【inputtest.py】
# inputtest.py import input class Inputtest: print( '名前を入力してください:-> ') name = input.readString() print('入力した名前は:', end=" ") print(name) print( '数字を入力してください:-> ') i = input.readInt() print('入力した数字は:', end=" ") print(i)
クラスの定義は次のように行います。
class クラス名:
クラス名はの最初の1文字目は必ず大文字のアルファベットにします。
インスタンス変数はクラス内でのみ有効になります。
クラスのメソッドを利用するには、最初にクラスのコンストラクタを生成します。
コンストラクタ名 = クラス名() s = Input()
生成したコンストラクタを使用してインスタンス変数を呼び出します。
ちょっと分かりにくいですが、大文字の Input()は作成したクラスで、小文字のinput()は組み込み関数です。
変数.インスタンス変数 = 格納するもの
s.str = input()
「sys」をインポートして読み込まれると強制終了するメソッド「exit()」を利用しています。
import sys
sys.exit()
入力にエラーがあった場合、例外処理ができるよう「try ~ except ValueError」を利用しています。
「try」で記述された処理に例外が生じた場合、「except ValueError」の内容が処理されます。
try: s.str = input() return s.str except ValueError: print ("エラー:文字を入力してください。") sys.exit()
実行結果は以下の通りになります。
↓↓クリックして頂けると励みになります。