如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
Python3初探,第1部分:Python3的新特性简介:Python3是GuidovanRossum功能强大的通用编程语言的最新版本。它虽然打破了与2.x版本的向后兼容性,但却清理了某些语法方面的问题。本文是系列文章中的第一篇,介绍了影响该语言及向后兼容性的各种变化,并且还提供了新特性的几个例子。Python版本3,也被称为Python3000或Py3K(仿效Microsoft?Windows?2000操作系统而命名的昵称)GuidovanRossum通用编程语言的最新版本。是虽然新版本对该核心语言做了很多改进,但还是打破了与2.x版本的向后兼容性。其他一些变化则是人们期待已久的,比如:???真正的除法―例如,1/2返回的是.5。long和int类型被统一为一种类型,删除了后缀L。True、False和None现在都是关键字。本文―Python3系列文章中的第一篇―的内容涵盖了新的print()函数、input()、输入/输出(I/O)的变化、新的bytes数据类型、字符串和字符串格式化的变化以及内置的dict类型的变化。本文面向的是那些熟悉Python并对新版本的变化很感兴趣但又不想费力读完所有PythonEnhancementProposal(PEP)的编程人员。(本文后面的参考资料部分提供了有关这些PEP的链接。)新的print()函数如今,您将需要让手指习惯于键入print("hello"),而不是原来的print"hello",这是因为print现在是一个函数,不再是一个语句。我知道,这多少有点痛苦。我认识的每个Python程序员―一旦安装了版本3并得到“语法不正确”错误―都会郁闷地大叫。我知道这两个额外的符号十分讨厌;我也知道这将会破坏向后兼容性。但是这种改变还是有好处的。让我们考虑这样的情况,即需要将标准输出(stdout)重定向到一个日志。如下的例子会打开文件log.txt以便进行追加并将对象指定给fid。之后,利用print>>将一个字符串重定向给文件fid:>>>fid=open("log.txt","a")>>>print>>fid,"logtext"另外一个例子是重定向给标准错误(sys.stderr):>>>print>>sys.stderr,"anerroroccurred"上述两个例子都不错,但还有更好的解决方案。新的语法只要求给print()函数的关键字参数file传递一个值就可以了。比如:>>>fid=open("log.txt","a")>>>print("log.txt",file=fid)这样的代码,语法更为清晰。另一个好处是通过向sep关键字参数传递一个字符串就能更改分割符(separator),通过向end关键字参数传递另外一个字符串就能更改结束字符串。要更改分割符,可以利用:>>>print("Foo","Bar",sep="%")>>>Foo%Bar总地来说,新的语法为:print([object,...][,sep=''][,end='endline_character_here'][,file=redirect_to_here])其中,方括号([])内的代码是可选的。默认地,若只调用print()自身,结果会追加一个换行符(\n)。从raw_input()到input()在Python版本2.x中,raw_input()会从标准输入(sys.stdin)读取一个输入并返回一个字符串,且尾部的换行符从末尾移除。下面的这个例子使用raw_input()从命令提示符获取一个字符串,然后将值赋给quest。>>>quest=raw_input("Whatisyourquest?")Whatisyourquest?Toseektheholygrail.>>>quest'Toseektheholygrail.'与之不同,Python2.x中的input()函数需要的是一个有效的Python表达式,比如3+5。最初,曾有人建议将input()和raw_input()从Python内置的名称空间一并删除,因此就需要进行导入来获得输入能力。这从方法上就不对;因为,简单键入:&