python::input()の返り値型問題 ◀◀ 新版
◆Python3のinput()は文字列型固定
◎Python3.xのinput()はPython2.xのraw_input()とほぼ同じ
Python3のinput() ▶▶ 出力は「文字列」固定
int/float型を判別するには eval(input()) ◀◀ strは✘!
eval(input())やっておけば,いちいちint()/float()しなくても大丈夫.
ただし,eval()の対象は「式」なので,文字列だとNameErrorを吐く!
ので,完全自動判別は,エラーを使った「例外処理」をするしかない!
◎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以降.古いものには使えない.