python中input()函数详解
1.input()函数赋值后数据在python内部的类型。
if __name__=="__main__": a=input() print(type(a)) b=input() print(type(b)) c=a+b print(c) print(type(c))
输入及输出:
从结果可以看出,我们通过input输入的数据在python中被默认为string型即字符串类型。执行a+b得到的并不是两个数据的和,而是字符串的连接。 2.input()函数读取数据的转换 为了让input()函数读取的数据转换为我们想要的类型,我们可以使用类型强制转换,将数据转换为我们想要的int、float、list等类型。 实验代码:
if __name__=="__main__": a=int(input()) print(type(a)) b=float(input()) print(type(b)) c=a+b print(c) print(type(c))
实验结果:
3.input()函数的交互性 可以在()内放入需要显示的提示性语言,具体如下代码所示:
if __name__=="__main__": a=int(input()) print(type(a)) b=float(input()) print(type(b)) c=a+b print(c) print(type(c)) name=input("请输入您的名字") print(name) number=input("请输入"+str(name)+"同学的学号")
结果如下:
从结果可以看出,如果想在提示语中增加变量,需要使用str(变量名),连接方式为“+”。前面已经提到,input()函数读取的变量在python中默认为string类型,因此这里不需要添加str()强制转换也可以正常输出。 4.input()函数一次读取多个变量 4.1利用split()函数进行输入的分割,一般默认为空格分割符,也可以自己设置。
if __name__=="__main__": list1=input("请输入一个列表: ").split(" ") print(type(list1)) list2= input("请输入一个列表: ").split(",") print(type(list2)) print(type(list1[1]))
实验结果: 从实验结果我们可以看出,split()函数可以对输入字符串进行分割,且必须设定分割符,空格不可以省略,上面报错是因为没有指定分割符,分隔符是空格也不可以省略。同时,split()函数分割后返回值是列表类型,列表中每个元素是string类型。 4.2input()函数一次性输入多个变量值 代码:
if __name__=="__main__": a,b,c=input("请输入多个变量值: ").split() print(a) print(b) print(c) print(type(c))
结果:
结果分析:当我们输入的数据大于变量个数时,会报错。split()如果没有指定分割符,默认为空格,但是()内不能输入“”。分割后的变量仍然是string类型。
4.3将多个变量同时进行类型强制转换 map()函数用来实现多个输入的强制类型转换,map()函数接收两个参数,一个是强制转换的类型函数,一个是序列。map()函数将将强制转换类型的函数依次作用到序列的每个元素,并将结果作为list进行返回。 代码:
if __name__=="__main__": a,b,c=map(int,input("请输入多个变量值: ").split()) d,e,f=[1,2,3] print(a) print(type(a)) print(d) print(e)
实验结果: 实验结果: (1)列表可以直接赋值给多个变量。 (2)split()函数的返回值是列表。 (3)map()函数的返回值是对象。