2.2 基本输入和输出
2.2.1 基本输入
2.2.1 基本输入
Python使用input()函数输入数据,其基本语法格式如下。
变量=input(’提示字符串’)
其中,变量和提示字符串均可省略。input()函数将用户输入的内容作为字符串返回。用户按【Enter】键结束输入,【Enter】键之前的全部字符均作为输入内容。指定变量时,变量将保存输入的字符串,示例代码如下。
>>> a=input(’请输入数据:')
请输入数据:'abc' 123,456 "python"
>>> a
'\'abc\' 123,456 "python"'
如果需要输入整数或小数,则应使用int()或float()函数转换数据类型,示例代码如下。
>>> a=input(’请输入一个整数:')
请输入一个整数:5
>>> a #输出a的值,可看到输出的是一个字符串
'5'
>>> a+1 #因为a中是一个字符串,试图执行加法运算,所以出错
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Can't convert 'int' object to str implicitly
>>> int(a)+1 #将字符串转换为整数再执行加法运算,执行成功
6
在输入数据时,可按【Ctrl+Z】组合键中断输入,如果输入了其他字符,此时【Ctrl+Z】和输入的内容将作为字符串返回;如果没有输入任何数据,则会产生EOFError异常,示例代码如下。
>>> a=input(’请输入数据:') #有数据时,^Z作为输入数据,不会出错
请输入数据:1231abc^Z
>>> a
'1231abc\x1a'
>>> a=input(’请输入数据:')
请输入数据:^Z
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
EOFError
eval()函数可返回字符串的内容,即相当于去除字符串的引号,示例代码如下。
>>> a=eval('123') #等同于a=123
>>> a
123
>>> type(a)
<class 'int'>
>>> x=10
>>> a=eval('x+20') #等同于a=x+20
>>> a
30
在输入整数或小数时,可使用eval()函数来执行转换,示例代码如下。
>>> a=eval(input(’请输入一个整数或小数:'))
请输入一个整数或小数:12
>>> a
12
>>> type(a)
<class 'int'>
>>> a=eval(input(’请输入一个整数或小数:'))
请输入一个整数或小数:12.34
>>> a
12.34
>>> type(a)
<class 'float'>