input関数
キーボードからデータ入力
input()
関数は、キーボードから文字列データを受け取る関数である。
数字を入力しても、すべて文字列(str型)として認識されるので注意が必要である。
tkinterなどでGUIを準備するまでもないアプリケーションに使用する。
次のサンプルコードでは、入力データを判別して、文字列なら文字列(str型)、整数なら整数(int型)、小数なら小数(float型)で取得するようになっている。
# study of "input function"
def python_input(msg=None, print_flag=False):
if msg is None:
msg = "input some word or number.:"
else:
pass
input_string = input(msg)
if print_flag is False:
pass
else:
print("Confirm input result:", input_string)
print("Confirm type:", type(input_string))
return input_string
def is_number(input_string):
try:
float(input_string)
except ValueError:
return False
else:
return True
def change_type(input_value):
if is_number(input_value) is not True:
return input_value
else:
if "." in input_value:
return float(input_value)
else:
return int(input_value)
def myfunc_input(msg=None, print_flag=False):
"""Receive numbers and strings from the command line.
Returns:
any type: str, int or float.
"""
cnv_result = change_type(python_input(msg, print_flag))
return cnv_result
def study_python_input(msg=None, print_flag=False):
input_result = myfunc_input(msg, print_flag)
print(input_result, type(input_result))
if __name__ == "__main__":
msg = " Python study: Input some word or number. >"
study_python_input(msg, print_flag=True)
実行結果
Python study: Input some word or number. >99
Confirm input result: 99
Confirm type: <class 'str'>
99 <class 'int'>
Python study: Input some word or number. >3.14
Confirm input result: 3.14
Confirm type: <class 'str'>
3.14 <class 'float'>
Python study: Input some word or number. >apple
Confirm input result: apple
Confirm type: <class 'str'>
apple <class 'str'>