发布于 2016-03-22 07:36:47 | 155 次阅读 | 评论: 0 | 来源: 网友投递
这里有新鲜出炉的Python3 Cookbook中文版,程序狗速度看过来!
Python编程语言
Python 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。
我们来看input的源码
def input(prompt):
return eval(raw_input(prompt))
其实input也是调用了raw_input,只是做了eval处理
而eval有什么作用呢?
input:会根据用户的输入来做类型的转换
raw_input:则会把用户的输入都作为一个字符串来处理
下面是详细的补充:
首先,我们知道input()和raw_input()都是用来获取控制台的输入,当然输入的时候可以加上输入提示信息:
a = raw_input("Please input a:")
b = input("Please input b:")
那么这两者有什么区别呢?
input()支持用户输入数字或者表达式,不支持输入字符串,返回的是数字类型的数值。而raw_input()捕获的是最原始的输入,也就是说返回的是一个字符串,所以如果输入的是数字,那么我们必须要进行强制转换。例如:
a = int(raw_input("Please input the number a:"))
其实input()本质上还是使用raw_input()来实现的,只是调用完raw_input()之后再调用eval()函数,所以,除非对input()有特别需要,否则一般情况下我们都是推荐使用raw_input()来与用户交互。
map接收一个函数和一个可迭代对象(如列表)作为参数,用函数处理每个元素,然后返回新的列表。
ACM有时需要要a b c这样的一行格式输入,这时就用map函数来处理,这里假设a,b,c都是整数。
a,b,c = map(int, raw_input().split()),raw_input函数输入的是字符串,字符串的split方法用来将字符串分割成序列。