【python入門者必見!】Pythonのinput関数を解説
Pythonに限らず、システムを開発する上で必要になるのが、エンドユーザーからの入力で出力結果を変更することです。
システムを完成する為には、制御文や繰り返しの処理も必要ですが、まずはエンドユーザーから入力された内容を受け取ることから始めなければいけません。
今回はPythonで入力データを受け取る基本となるinput関数について、ご紹介していきます。
Pythonコンソールとは
今回はPythonのコンソール画面を使ってinput関数をご紹介していきます。
pythonのコンソールは、1行ずつ処理を実行していきます。
Pythonコンソール起動方法
Pythonコンソールの起動方法ですが、WindowsはPowershell、Macはターミナルから下記コマンドで起動します。
[ps]python[/ps]コマンドを実行後は画面上にインストールされたPythonのバージョンなどが表示され、入力待ち状態になっていれば成功です。
ErrorIdなどが表示されている場合は、pythonがインストールされていないか、コマンドのスペル間違いの可能性があります。
Pythonコンソールの使用例
pythonの使用例として比較演算子を実行してみることで、確認することができます。
例えば下記コマンドを実行してFalseと結果が表示されていれば、pythonコンソールが実行されていることになります。
[py]100>50[/py]エラーなどが表示される場合は、正しく実行されていない可能性があります。
また下記コマンドを実行してみます。
[py]print(“hello world”)[/py]print関数は引数値を出力する関数で、結果にhello worldと表示されていれば成功です。
Pythonコンソール終了方法
pythonのコンソール終了は下記コマンドで終了することができます。
[py]exit()[/py]「文字入力をしてください>>>」のinput関数の引数には、文字入力待ち状態時に表示される文字になります。
Python3系input関数使用例
input関数の使用例をご紹介します。
基本的にはinput関数は、変数に代入して利用します。
[py]tmp = input(“名前を入力してください>>>”)
print(“Hello” + tmp)
#入力データ「太郎」の実行結果
Hello太郎
[/py]Python2系の記述方法
python2系では以下の記述方法になります。
[py]raw_input(“文字を入力してください>>>”)[/py]「文字入力をしてください>>>」のinput関数の引数には、文字入力待ち状態時に表示される文字になります。
Python2系raw_input関数使用例
raw_input関数の使用例をご紹介します。
基本的にはraw_input関数は、変数に代入して利用します。
[py]tmp = raw_input(“名前を入力してください>>>”)
print(“Hello” + tmp)
#入力データ「花子」の実行結果
Hello花子
[/py]実行方法について
コンソールでの実行方法は、input関数コマンドを実行することで、文字入力状態になります。
その後代入した変数を使ってprint関数などの引数として実行します。
pyファイルを作成して実行する場合は、PowerShellなどからファイルを指定してすることで実行することが可能です。
未経験でも確実にプログラミングスキルを身につけられる!
【DMM WEBCAMP】では、専属コーチが卒業まで伴走します!
✔短期間で効率的にプログラミングスキルを身につけたい
✔プログラミングを独学で進めていくのが不安
✔家での時間を有効に使ってスキルアップがしたい
といった方におすすめです!
\実践的なスキルが身に付くカリキュラム/
複数行のinput関数について
基本的なinput関数については、上記でご紹介しましたが、ここからは応用として複数行の入力を使用する方法について、解説していきます。 複数行で実行する必要がある為、基本的にはpyファイルを作成して実行します。
複数行のinput関数の記述方法
複数行のinput関数の記述方法は下記になります。 [py] tmp1 = input(“1つ目文字を入力してください>>>”) tmp2 = input(“2つ目文字を入力してください>>>”) ・ ・ [/py]
複数行のinput関数の記述方法は、非常にシンプルで複数のinput関数を記述します。
複数行のinput関数の使用例
それでは実際に複数行のinput関数の使用例です。
[py]name1 = input(“1つ目の名前を入力してください>>>”)
name2 = input(“2つ目の名前を入力してください>>>”)
print(“Hello” + name1)
print(“Hello” + name2)
#1つ目に「次郎」、2つ目に「三郎」の実行結果は下記になります。
Hello次郎
Hello三郎
[/py]for文などで繰り返し部分を記述するとより汎用的な使い方ができます。
改行のinput関数について
input関数を利用する上で、注意が必要なのが、改行です。
input関数を利用する際に改行を除去する必要が出てきます。
改行のinput関数の記述方法
改行除去する記述方法は下記になります。
[py]tmp=input().rstrip()
[/py]rstrip関数は通常引数の文字列を削除する関数です。
引数を指定しない場合は、改行コードを削除してくれることになり、input関数を利用して変数に代入する際に指定しておくことで、改行が入らない形で変数に代入されます。
改行のinput関数の使用例
改行を削除してinput関数を利用する使用例は、下記になります。
[py]tmp = input(“名前を入力してください>>>”).rstrip()
print(“Hello” + tmp)
#入力データ「四郎」の実行結果
Hello四郎
[/py]実行結果は今までと基本的には変わりませんが、エンドユーザーの入力方法などにより改行コードが含まれている場合、正しく動作しなくなる可能性がある為、癖つけることをおすすめします。
【DMM WEBCAMP】は受講生の97%が未経験からのスタート!
充実のサポート体制で、プログラミングスキルを確実に身につけられます!
✔一人ひとりに合わせた学習計画で進められるため、仕事や学校と両立できる
✔未経験者のために開発された実践的なカリキュラムを用意
✔︎専属コーチが卒業まで学習をサポート
\目的別で選べる3つのコース/
入力値の変換について
input関数は入力値の変換を行わなければ、文字列として扱われます。
しかしシステムを開発する際に、数値として扱いたい場合も当然出てきます。
入力値の型を変換したり、分解して変数に代入する方法について、解説していきます。
入力値をint型に変換する方法
入力値を数値型のint型に変換する方法について、下記になります。
[py]tmp = int(input())
[/py]上記方法で変数に代入する際に数値型に変換されます。
入力値をint型に変換する使用例
[py]tmp = int(input())
goukei = 10 + tmp
print(goukei)
#入力値を「100」にした場合の実行結果
110
[/py]
実行結果として100と10を足した110が表示されます。
これをint型への変換を行わずに実行した場合、エラーになってしまいます。
入力値をsplit関数で分割する方法
split関数とinput関数を合わせて利用することで、カンマや空白で分割して変数に代入することができます。
split関数の引数によって、区切る文字を指定することが可能です。
split関数で空白毎に分割する
split関数で空白で分割する場合は、下記になります。
[py]tmp = input().split()
[/py]split関数の引数を指定しないことで、空白で分割することができます。
入力値をsplit関数で分割する使用例
[py]tmp = input(“文字列毎に半角空白を入れてください。”).split()
print(tmp)
#入力値を「五郎 六郎 七郎」と入力した場合の実行結果
[‘五郎’, ‘六郎’, ‘七郎’]
[/py]
split関数で分割することにより、カンマ区切りで変数に代入されます。
コンソール画面以外から入力する方法
上記でも少し触れましたが、コンソール画面以外から入力する方法があります。
代表的な入力方法について、解説していきます。
importなども使用する為、まだ学習していない方は今はイメージを掴めるだけでも問題ありません。
inputboxの記述方法
pythonでは他言語で利用されるinputbox関数はありません。
そこで代表的な方法としてtkinterモジュールをimportすることでinputboxとして表示し、値を受け取ることができます。
記述方法は下記になります。
[py]import tkinter as tk
import tkinter.simpledialog as sim
root = tk.Tk()
root.withdraw()
tmp = sim.askstring(“Input Box”, “INPUTBOX”, initialvalue=””)
[/py]
inputboxの使用例
[py]import tkinter as tk
import tkinter.simpledialog as sim
root = tk.Tk()
root.withdraw()
tmp = sim.askstring(“Input Box”, “INPUTBOX”, initialvalue=””)
print(‘入力データを出力:’,tmp)
上記ではボックスに入力された値を出力しただけになりますが、見た目としてはコンソールよりもずっとユーザーが入力しやすい見た目になっています。
入力値を手書きで入力する
最近スマートフォンなどでも手書きの文字入力機能があります。
実はPythonでも環境さえ整えれば、初心者でも手書き入力機能を実装することが出来ます。
全て解説をすると長くなってしまう為、今回は概要のみ解説させて頂きます。
TensorFlowの基本について
PythonでTensorFlowは、Googleが提供しているライブラリの1つです。
Anacondaなどの実行環境を整えることで、TensorFlowの機械学習ライブラリを利用して手書き入力を実装することが出来ます。
input_dateの入手先について
TensorFlowを使用する上で、input_dateを使用します。
input_daeは下記URLからソースを入手できます。
https://github.com/tensorflow/tensorflow/blob/r0.8/tensorflow/examples/tutorials/mnist/input_data.py
エラーが発生時の確認するポイント
ここまでinput関数などの入力について、解説してきましたが、システムを開発する際に問題になるのがエラーです。
データ入力時にエラーが発生した時に確認するポイントをご紹介します。
大文字小文字の確認
Pythonの基本ですが、他のプログラミング言語と違いPythonは大文字と小文字を判別します。
関数や変数が大文字と小文字の違いがないかを確認することで、エラーを解消することが出来ることも少なくありません。
スペースキーの全角半角確認
こちらも大文字と小文字について、多いミスです。
特に使用しているエディタで全角と半角のスペースを判別しにくい場合は、エディタを変更することもおすすめです。
スペルミスの確認
ベテランでもミスをすることがあるのが、スペルミスです。
定期的にソースコードを書いた時に、実行してスペルミスがないかを細かくチェックするのがおすすめです。
まとめ
今回は、Pythonのデータ入力について、解説してきましたが、いかがでしたか。
Python自体はデスクトップアプリケーションよりもWeb系の開発に使用されることが多いですが、それでもオープンソースの利点であるライブラリを利用することで、初心者の方でも本格的なデータ入力ボックスの実装が簡単にできます。
もちろんPythonの基本をしっかり抑えておかなければ、エラーやバグが発生した場合解決することは出来ない為、下積みは非常に重要です。