Python3.x與Python2.x的差別用法

Python3.x與Python2.x的差別用法

1,關於urllib2區別:html

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

2,關於URLError輸出用法區別:python

# 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區別:post

# 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()區別:url

# 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();spa

8,關於zip()函數的區別:code

#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字符串區別:htm

#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

相關文章
相關標籤/搜索