Python3.x与Python2.x的差异用法详解编程语言
2023-06-13 09:11:43 时间
# python3
#python3字符串默认编码unicode, 所以sys.setdefaultencoding也不存在,不然会报错:AttributeError: module sys has no attribute setdefaultencoding
#python3.3(低于3.3版本):
import imp
imp.reload(sys)
#python3.4(高于3.4版本):
import importlib
importlib.reload(sys)
6,关于urlretrieve()的区别:
# python2 #直接将远程数据下载到本地。 urllib.urlretrieve(url[, filename[, reporthook[, data]]]) 参数说明: url:外部或者本地url filename:指定了保存到本地的路径(如果未指定该参数,urllib会生成一个临时文件来保存数据); reporthook:是一个回调函数,当连接上服务器、以及相应的数据块传输完毕的时候会触发该回调。我们可以利用这个回调函数来显示当前的下载进度。 data:指post到服务器的数据。该方法返回一个包含两个元素的元组(filename, headers),filename表示保存到本地的路径,header表示服务器的响应头。 # python3 urllib.request.urlretrieve() #例子: urllib.request.urlretrieve(imgurl,d://%s.jpg% x)
7,关于range()和xrange()区别:
# python2 #有range()和xrange()两个 for x in xrange(1,10,2): if x==5: continue print(x) for x in range(1,10,2): if x==5: continue print(x) # python3 #将range()、xrange()两个合并为range() for x in range(1,10,2): if x==5: continue print(x)
注意:Python3.x中将range()和xrang()合并为rang();
8,关于zip()函数的区别:
#python2 #zip()用法 x = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9] xyz = zip(x, y, z) print(xyz ) u = zip(*xyz) print(u) #python3 #zip()用法 x = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9] xyz = list(zip(x, y, z)) print(xyz ) u = list(zip(*xyz)) print(u)
9,关于字Unicode字符串区别:
#python2 #Unicode字符串 uPapayaWhip #Unicode原始字符串(使用这种字符串,python不会自动转义反斜线"/")也被替换为普通的字符串 urPapayaWhip/foo #python3 #python2中的Unicode字符串在python3即为普通字符串 PapayaWhip #python3里,所有原始字符串都是以unicode编码的 rPapayWhip/foo
10,关于BeautifulSoup()中参数名称(fromEncoding)区别:
# python2 BeautifulSoup(start_html.content, "html.parser", fromEncoding="gb18030") #python3 BeautifulSoup(start_html.content, "html.parser", from_encoding="gb18030")
11,关于ConfigParser模块的用法:
#python2 import ConfigParser #python3 import configparser
关于python版本差异可以参考:https://www.cnblogs.com/weikunzz/p/6857971.html
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/16825.html
cjavapython