030 Python与用户交互
一、为什么交互?
让我们来回顾计算机的发明有何意义,计算机的发明是为了奴役计算机,解放劳动力。假设我们现在写了一个ATM系统取代了柜员,如果我们要在这台ATM上取款,那么这个ATM是不是会要求我们输入姓名、密码?是不是需要我们输入我们需要取款金额?这是不是就可以理解为一种交互。现在让我们了解下Python是怎么实现交互的。
二、如何交互?
print('-'*100)
input("请输入你的姓名:")
print(''100)
----------------------------------------------------------------------------------------------------
请输入你的姓名:nick
****************************************************************************************************
现在让我们手写一个ATM的登陆系统???
name = input('请输入你的姓名:')
pwd = input('请输入你的密码:')
print(type(name))
print(type(pwd))
请输入你的姓名:nick
请输入你的密码:123
<class 'str'>
<class 'str'>
通过上面的打印结果,我们可以发现input()方法的作用只是接收值。由于我们目前基础知识不够,我们暂时使用input()交互,之后会使用Web/可视化界面的形式交互。
注意:无论我们输入的值是数字类型、字符串类型、列表类型,input的接收值都是字符串类型。
三、Python2的交互
name = raw_input('请输入你的姓名:')
pwd = raw_input('请输入你的密码:')
print(type(name)) # 'str'
print(type(pwd)) # 'str'
注意:python2当中的raw_input()和python3中的input()是一模一样的。
x = input('username: ') # 必须输入明确的数据类型,你输入什么类型则接收什么数据类型,输入'egon'而不是egon,否则会报错
Python3的交互相比较于Python2应该是更合理的,虽然Python3的交互在程序中使用是麻烦了,因为如果输入年龄还需要强制转换,但是如果用python2的input,用户需要知道自己输入的数据是什么数据类型的,对用户不友好,如此写出的程序可能明天就没人使用了。