Python2与Python3的区别说一

白癜风诊疗规范 http://pf.39.net/bdfyy/bdfyc/180415/6169141.html
开课吧Python,Python2与Python3的区别

-Python2和Python3区别

字符编码:py3中默认字符编码是unicode;py2中默认字符编码是ASCII,如果文件中出现了中文,需要在顶部加入coding声明#coding:utf8让用户输入:py3中直接使用input();py2中需要使用raw_input()range和xrange:py3中的range==py2中的xrange,返回类似迭代器的东西,节省内存空间语句变函数:py3中为print(),exec()是一个方法,必须加上括号;py2中为print,exec数据传输:py3中socket传过来的数据是byte类型/hashlib包update也需要传bytes类型的数据;py2中则可以直接传入str,e.g#Python3importhashlibm=hashlib.sha()m.update(bNobodyinspects)#Python2importhashlibm=hashlib.md5()m.update(Nobodyinspects)

-Python装饰器

它是指对函数执行过程,做一些扩展,甚至可以更改本身函数的执行,它就是在不改变源码的情况下,给它添加新的功能

Python提供的内置装饰器有?

classmethod修饰类函数,可以由对象和类调用,在类函数中,有一个隐形参数,如果使用类函数执行,隐形参数指这个类。如果使用对象.类函数执行,隐形函数指对象的类型。它只想让类来调用

staticmethod修饰静态函数,静态函数没有任何隐形参数,可以由对象和类调用

property在函数前面加这个装饰器,那么这个函数可以当成属性类用




转载请注明:http://www.aierlanlan.com/rzdk/3397.html