基于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不足之处请留言,会尽快修改!

Python3与Python2的差异的更多相关文章

  1. Win10下python3和python2同时安装并解决pip共存问题

    特别说明,本文是在Windows64位系统下进行的,32位系统请下载相应版本的安装包,安装方法类似. 使用python开发,环境有Python2和 python3 两种,有时候需要两种环境切换使用,下 ...

  2. 【转】Win10下 python3和python2同时安装并解决pip共存问题

    1.下载python3和python2 进入python官网,链接https://www.python.org/ 选择Downloads--->Windows,点击进入就可以看到寻找想要的pyt ...

  3. python3对比python2的更新点

    python3对比python2的更新点: Python2官方基础模块:urllib2 第三方功能包:requests python3中urllib库和urilib2库合并成了urllib库. 其中u ...

  4. 【转】Win10下python3和python2多版本同时安装并解决pip共存问题

    [转]Win10下python3和python2多版本同时安装并解决pip共存问题 特别说明,本文是在Windows64位系统下进行的,32位系统请下载相应版本的安装包,安装方法类似. 使用pytho ...

  5. 一、Windows10下python3和python2同时安装

    python2.exe.python3.exe和pip2.pip3设置 说明:安装安装python3和python2请参考本系列教程(一) 1.添加python2到系统环境变量 打开,控制面板\系统和 ...

  6. python3与python2使用python原生SimpleHTTPRequestHandler

    python3 使用时如下: #!/usr/bin/env python3 #coding=utf-8 from http.server import SimpleHTTPRequestHandler ...

  7. 解决python3与python2的pip命令冲突问题冲突(window版)

    解决方法再上一篇有大概讲解: python开发环境安装配置 这里做一些补充: 上一篇说过,删除python3和python2中的python.exe文件后关闭dos窗口,重新打开dos,就可以进行安装 ...

  8. Windows同时安装python3和python2

    Windows同时安装python3和python2 https://www.cnblogs.com/shanhua-fu/p/6912683.html Windows7 下python3和pytho ...

  9. 同时装了Python3和Python2,怎么用pip?

    问题:同时装了Python3和Python2,怎么用pip? Ubuntu13.04, 系统内同时装了Python3.3 和 2.7 用sudo apt-get install python-pip ...

随机推荐

  1. python基础训练题1-列表操作

    1,在列表末尾添加一个值 >>> l = [ 10, 20 ] >>> l [10, 20] >>> l.append( 'ghostwu' ) ...

  2. Code Signal_练习题_Circle of Numbers

    Consider integer numbers from 0 to n - 1 written down along the circle in such a way that the distan ...

  3. MySql概念及常用Sql

    MySQL是一个关系型数据库管理系统 MySQL启动命令: 本机mysql地址D:\pefession\mySql\mysql-8.0.12-winx64\bin 启动服务:net start mys ...

  4. 使用ThinkPHP实现生成/校验验证码功能

    首先了解父类Verity.class.php(ThinkPHP/Library/Think/Verity.class.php)中的一些函数 1:check() 校验验证码是否正确 2:entry()输 ...

  5. 【代码笔记】iOS-长条蓝色button

    一,效果图. 二,代码. ViewController.m - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup ...

  6. 鼠标悬浮控制元素隐藏与显示 - css中鼠标的hover状态

    需求:当鼠标移动到一个元素A身上时,另外一个元素B显示. 实现原理: A元素与B元素有一个相同的父级. B元素默认隐藏,A元素默认显示. 当鼠标移动到A元素身上时,也可以看做是移动到了A元素的父级身上 ...

  7. 基于react的标准form+table页面的请求流程图

    componentDidMount直接走handleSearch而不走loadData,是为了当form有默认初始值的时候也能适用! --------------------2018.2.7新增--- ...

  8. Memcached+WebApi记录

    一.安装Memcached Memcached1.2.6 http://files.cnblogs.com/files/jasonduan/11465401756756.zip Memcached.C ...

  9. FI配置清单-概要

    1.编辑公司代码 T-Code:OX02 路径:IMG >企业结构Enterprise >定义Definition >财务会计 Financial Accounting>编辑, ...

  10. 在Silverlight中动态绑定页面报表(PageReport)的数据源

    ActiveReports 7中引入了一种新的报表模型——PageReport(页面布局报表),这种报表模型又细分了两种具体显示形式: o    固定页面布局报表模型(FPL)是ActiveRepor ...