• 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'PapayaWhipfoo'
     
    #python3
    #python2中的Unicode字符串在python3即为普通字符串
    'PapayaWhip'
    #python3里,所有原始字符串都是以unicode编码的
    r'PapayWhipfoo'

     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

  • 相关阅读:
    linux下 C++ 读取mat文件 MATLAB extern cyphon scipy 未完待续
    mshadow笔记
    mem_fun 例子
    gedit embeded terminal 设置字体 颜色
    decltype typename
    gcc4.9.1新特性
    C++开发者都应该使用的10个C++11特性 转
    如何加快C++代码的编译速度 转 ccache
    cout关闭输出缓冲,调试用
    boost range zhuan
  • 原文地址:https://www.cnblogs.com/lizm166/p/8099413.html
Copyright © 2020-2023  润新知