python::input()の返り値型問題 ◀◀ 新版
#python
#2020/7/31 #2020/7/5 #2020/7
◆Python3のinput()は文字列型固定
Pythonのinput関数でキーボードからの入力を取得 | note.nkmk.me
python - Pythonでのeval(“ input()”)とeval(input())の違い - ITツールウェブ
【python】eval・exec関数まとめ+改行あり文字列の書き方 - Qiita
◎Python3.xのinput()はPython2.xのraw_input()とほぼ同じ​​​​​​
Python3のinput() ▶▶ 出力は「文字列」固定
int/float型を判別するには eval(input()) ◀◀ strは✘!
eval(input())やっておけば,いちいちint()/float()しなくても大丈夫.
ただし,eval()の対象は「式」なので,文字列だとNameErrorを吐く!
Pythonで文字列をスクリプトとして実行する:eval(), exec() | UX MILK
ので,完全自動判別は,エラーを使った「例外処理」をするしかない!
python::例外処理って意外と簡単
◎Python2のinput() ▶▶ 変数の型を自動変換
型を固定するのは raw_input()
◎型を固定しないと,チャット的なインタフェースが作りにくいなどの理由,らしい
★まとめ(python3)★
input()は全部文字列型になる
input()でint/floatに自動変換するには: eval(input()) を使う
ただし文字列は使えないので,input()後に例外処理で対応する
◆printには,.format,略してf'{変数}' が使える
◎Python3ではprintに,format()を縮めた表記が可能!型名に限らず,printに放り込める
code:python
a='あああ'
b='12.56'
print(f'{a}が文字列型で{b}が浮動です.')
▼▼ 出力は
あああが文字列型で12.56が浮動です.
これは便利!!ただPython3.6以降.古いものには使えない.
python::format文がめっちゃ便利!(1)