Python3.x与Python2.x的差异用法详解编程语言

Python3.x与Python2.x的差异用法

1,关于urllib2区别:

# python2 
import urllib2 
  
# python3 
# 用urllib.request代替urllib2 
import urllib.request

2,关于URLError输出用法区别:

# python2 
urllib2.URLError, e: 
 
# python3 
urllib.request.URLError as e:

3,关于print用法区别:

# python2 
print 'hello world' 
 
#  python2 
print('hello world')

4,关于aw_input和input区别:

# python2 
#有raw_input和input 
 
# python3 
#将raw_input和input进行了整合,只有input

5,关于设置setdefaultencoding区别:

# python2 
reload(sys) 
sys.setdefaultencoding("utf-8") 
 
# 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字符串 
u'PapayaWhip' 
#Unicode原始字符串(使用这种字符串,python不会自动转义反斜线"/")也被替换为普通的字符串 
ur'PapayaWhip/foo' 
  
#python3 
#python2中的Unicode字符串在python3即为普通字符串 
'PapayaWhip' 
#python3里,所有原始字符串都是以unicode编码的 
r'PapayWhip/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/tech/pnotes/16825.html

(0)
上一篇 2021年7月19日 19:38
下一篇 2021年7月19日 19:38

相关推荐

发表回复

登录后才能评论