问题描述
我想通过使用
python types
模块
我使用 type(2) is int
表示整数.---->>>工作我使用 type("Vivek") is str
作为字符串.---->>>工作但是当我使用 raw_input()
I have used the type(2) is int
for integer. ---->>>workingI have used the type("Vivek") is str
for string. ---->>>working but i am confused when I take input using raw_input()
import types
p = raw_input("Enter input ")
如果我在控制台
上输入了像vivek"这样的字符串那么就可以了
if I entered string like "vivek" on console
then it is ok
问题是int
和float
输入时
那么检查输入是否为 boolean
,int
,char,string
,long 的规范方法是什么
,byte
,double
in python
.
so what will be the canonical way to checked whether an input is of boolean
,int
,char,string
,long
,byte
,double
in python
.
推荐答案
您可以将输入转换为您需要的任何内容.
It up to you to convert your input to whatever you need.
但是,你可以这样猜:
import sys
p = raw_input("Enter input")
if p.lower() in ("true", "yes", "t", "y"):
p = True
elif p.lower() in ("false", "no", "f", "n"):
p = False
else:
try:
p = int(p)
except ValueError:
try:
p = float(p)
except ValueError:
p = p.decode(sys.getfilesystemencoding()
支持bool
、int
、float
和unicode
.
注意事项:
- Python 没有
char
类型:使用长度为 1 的字符串, - 这个
int
函数可以解析int
值,也可以解析long
值,甚至很长的值, - Python 中的
float
类型具有double
的精度(Python 中不存在).
- Python has no
char
type: use a string of length 1, - This
int
function can parseint
values but alsolong
values and even very long values, - The
float
type in Python has a precision of adouble
(which doesn't exist in Python).
这篇关于检查输入类型的规范方法是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!