标签:
学习完如何写‘hello world‘之后,我们还是不太满意,因为这样代码就写死了,以后运行的时候都只打印一局固定的话而已。
但是,我想在程序运行后,自己手动输入内容怎么办,此时就要学习如何使用用户交互了。
在python2.x中,用户交互使用的是 raw_input("提示内容") 方法,例如
name = raw_input("请输入姓名:") print name
之前的起手式就略去了,代码的执行结果是:
再输入东西后回车
这里有一个要注意的地方,那就是当程序运行到等待用户输入的地方时,会一直等着,也就是下面的代码不会继续执行了,连退出都要用ctrl+c强制退出。
另外,这里输入的数据会将其转换成字符串类型,要注意有时函数传参中的类型错误,别问我是怎么知道的。
在第一遍中曾经提供,在3.x中, raw_input() 已经被 input() 取代了,而input()的特性又有所不同:
name = input("请输入姓名:") print type(name) print name
其中,type()函数是用来查看数据类型的,这种可以直接用的,被称为内置函数或内建方法。
当我们和上面输入的一样时,却发现报错了,关于报错提示怎么看以后会进行总结,这里报错的意思是变量没有被定义。
如果我换一种输入方式的话:
当我用引号引起来的时候,发现又可以了。这里可以得出input()的特性为:输入的数据是什么类型,就是什么类型。这个和raw_input()很不同,要注意一下。
看到第一次输入后而报错的时候,有些人会问,如何我这里输入的是已经定义(也就是已经赋值)的变量名, 是不是就能够调用到在内存中的值了?
在2.7(因为我只用过2.7,其他2.x不清楚)中,确实是可以这样的,但是在3.x中不行,因为这个功能被另一个内置函数 eval("name") 代替了("name"是传入字符串,然后用传入的字符串作为变量名)。
当然input()的用户交互的功能还是有的,只是不能去调用变量了而已。
以上,就是用户交互的基本内容了,还有什么东西遗漏的话,我会继续补充。
标签:
原文地址:http://www.cnblogs.com/scolia/p/5525567.html