zoukankan      html  css  js  c++  java
  • Python3与Python2的差异


    基于python3浅谈python3与python2的差异。由于现今主流Python3,但是之前用Python2做的项目,还得维护,所以作为python工作者,不免要了解其中差异,其中,Python2 有 ASCII str() 类型,unicode() 是单独的,不是 byte 类型。而 Python3.X 源码文件默认使用utf-8编码,以及一个字节类:byte 和 bytearrays。这就使得以下代码是合法的:

    编码差异:

    我 = 'zhongguo'

    print(我)

    Python3结果:zhongguo

    :python2中是不合法的,不论是代码还是注释都是不能出现汉字的,除非申明:#!/usr/bin/python -*- coding: UTF-8 -*-

    作为一种默认规范或者代码素养,通常不用汉字,尽量让代码写的python点!


    python3与python2最大的区别就是print输出请参考print的使用:https://blog.csdn.net/u010986753

    Python 3版本中print语句没有了,取而代之的是print()函数。

    print差异:

    正确输出"life is short we neeed python!"代码如下:

    print('life is short we neeed python!')

    Python3结果:life is short we neeed python!

    Python2中的打印:

    print "life is short we neeed python!"/

    print 'life is short we neeed python!'/

    print ('life is short we neeed python!')

    输出结果都是一样的!

    整除差异

    > print(7/3)>

    Python3结果:2.3333333333333335

    > Python2结果:2

    > Python3表示整除是print(7//3)

    不等号的差异:

    Python2中不等于有两种写法 != 和 <>

    Python3中去掉了<>, 只有!=一种写法

    整型的差异:

    Python2中有一种整型—int和长整型-long

    Python3中只有一种整型—int

    提示信息的差异:

    Python2中raw_input( "提示信息" )和input( "提示信息" )

    Python3中只有input( "提示信息" )

    打开文件的差异:

    Python2中file( ..... )或 open(.....)

    Python3中只有open(.....)

    map、filter 和 reduce的差异:

    Python2在交互模式下:

    >>> map

    <built-in function map>

    >>> filter<built-in function filter>

    >>> reduce<built-in function reduce>

    它们输出的结果类型都是列表:

    >>> map(lambda x:x +2, [4,1,3])

    [6, 3, 5]

    >>> filter(lambda x:x %2 ==0,range(9))

    [0, 2, 4, 6, 8]

    Python3在交互模式下:它们从函数变成了类,其次,它们的返回结果也从当初的列表成了一个可迭代的对象

    >>> map<class 'map'>

    >>> map(print,[1,2,3])

    <map object at 0x10d8bd400>

    >>> filter<class 'filter'>

    >>> filter(lambda x:x % 2 == 0, range(10))

    <filter object at 0x10d8bd3c8>

    遍历元组

    对于比较高端的 reduce 函数,它在 Python3中已经不属于 built-in 了,被挪到 functools 模块当中。如果需要编写一个遍历元组的列表解析,Python2不需要在元组值周围加上括号。在python3里,这些括号是必需的。

    Python2中[ i for i in 1, 2]

    Python3中[i for i in (1,2)]

    获得一定范围内的数字

    python2里,有两种方法获得一定范围内的数字:range(),返回一个列表,还有xrange(),返回一个迭代器。

    python3 里,range()返回迭代器,xrange()不再存在。

    Python2中[ i for i in 1, 2]

    Python3中[i for i in (1,2)]

    欢迎关注小婷儿的博客 https://blog.csdn.net/u010986753不足之处请留言,会尽快修改!

    欢迎关注小婷儿的博客:
        文章内容来源于小婷儿的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解     有趣的事,Python永远不会缺席!
        如需转发,请注明出处:小婷儿的博客python    https://www.cnblogs.com/xxtalhr/
        博客园:https://www.cnblogs.com/xxtalhr/
        CSDN:https://blog.csdn.net/u010986753
    有问题请在博客下留言或加作者:
         微信:tinghai87605025
         QQ :87605025
         python QQ交流群:py_data 483766429

    培训说明:
         OCP培训说明连接:https://mp.weixin.qq.com/s/2cymJ4xiBPtTaHu16HkiuA
         OCM培训说明连接:https://mp.weixin.qq.com/s/7-R6Cz8RcJKduVv6YlAxJA
         小婷儿的python正在成长中,其中还有很多不足之处,随着学习和工作的深入,会对以往的博客内容逐步改进和完善哒。重要的事多说几遍。。。。。。
  • 相关阅读:
    wx.Notebook
    wx.button
    wxpython wx.windows的API
    wxpython Menus and toolbars
    使用 profile 进行python代码性能分析
    html 表格边框的设置
    Java IO方式
    Java文件拷贝方式
    S.O.L.I.D原则
    面向对象设计
  • 原文地址:https://www.cnblogs.com/pythonbao/p/9037411.html
Copyright © 2011-2022 走看看