目录
input函数
代码:input(prompt)
prompt为提示字符。
input()的返回值
返回值类型
众所周知,python的变量是不需要指定变量的数据类型,其内部机制是python自动(auto)地判定变量类型,所以当出现a=input()的格式时,就需要关注input()的返回值类型。
查阅资料可知(也可以手动实验,通过print(type(a))获知a的类型来验证),input()的返回值类型是字符串string。
提醒:python中并没有字符串和字符的区别。
获得其他类型的输入
一共有两种方法
其一,是一开始强制类型转换
a=int(input())#输入5
a保存的是int的数据类型;
其二,是使用时进行的类型转换
a=input()
b=input()
c=int(a)+int(b)#输入5,4
a,b保存的是sring类型,c保存的是int类型。
结语:
注意变量类型,以防止不同类型变量相加(不同于c语言,c语言会自动类型转换,python则是直接报错);
input的提示字符 prompt
注意:promt只能是字符串(有点区别于print()函数)
name="Jane"
ID=int(input("请输入"+str(name)+"的学号")
input函数的提示字符中如若存在变量,需要强制类型转换为string类型(其无法直接将变量的值带入)
input的多变量赋值
给多个变量同时赋值,我们知道python的独特赋值模式
a=5
b=4
a,b=b,a;
如上,直接实现a,b两数的互换(实际上就是列表的赋值),而对于input函数,需要利用split()函数进行输入使返回函数形成一个列表,同时,我们还可以设置分隔符
a,b,c=input().spilt()
a,b,c=input().spilt(',')
input().spilt()返回的是一个string类型的列表;
spilt()括号内是分隔符,如若没有指定分隔符,默认是空格;
但是如果需要赋值的类型非string,则需要用到map()函数(因为不能直接对列表进行数据转换)
例如:a,b,c=map(int,input().spilt())
map()函数接受两个接收两个参数,一个是函数(只需要书写函数名即可),一个是列表,map()将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回
变量
在python中,变量只是对一块储存区域的命名,并使用type(变量名)可以返回储存区域中储存内容的类型,但是变量是可以改变其储存的内容的。
a=520
b='520'
print(type(a))
a=b
print(type(a))
结果为
<class 'int'>
<class 'str'>
说明变量并非被固定于某种类型。