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不足之处请留言,会尽快修改!
Python3与Python2的差异的更多相关文章
- Win10下python3和python2同时安装并解决pip共存问题
		
特别说明,本文是在Windows64位系统下进行的,32位系统请下载相应版本的安装包,安装方法类似. 使用python开发,环境有Python2和 python3 两种,有时候需要两种环境切换使用,下 ...
 - 【转】Win10下 python3和python2同时安装并解决pip共存问题
		
1.下载python3和python2 进入python官网,链接https://www.python.org/ 选择Downloads--->Windows,点击进入就可以看到寻找想要的pyt ...
 - python3对比python2的更新点
		
python3对比python2的更新点: Python2官方基础模块:urllib2 第三方功能包:requests python3中urllib库和urilib2库合并成了urllib库. 其中u ...
 - 【转】Win10下python3和python2多版本同时安装并解决pip共存问题
		
[转]Win10下python3和python2多版本同时安装并解决pip共存问题 特别说明,本文是在Windows64位系统下进行的,32位系统请下载相应版本的安装包,安装方法类似. 使用pytho ...
 - 一、Windows10下python3和python2同时安装
		
python2.exe.python3.exe和pip2.pip3设置 说明:安装安装python3和python2请参考本系列教程(一) 1.添加python2到系统环境变量 打开,控制面板\系统和 ...
 - python3与python2使用python原生SimpleHTTPRequestHandler
		
python3 使用时如下: #!/usr/bin/env python3 #coding=utf-8 from http.server import SimpleHTTPRequestHandler ...
 - 解决python3与python2的pip命令冲突问题冲突(window版)
		
解决方法再上一篇有大概讲解: python开发环境安装配置 这里做一些补充: 上一篇说过,删除python3和python2中的python.exe文件后关闭dos窗口,重新打开dos,就可以进行安装 ...
 - Windows同时安装python3和python2
		
Windows同时安装python3和python2 https://www.cnblogs.com/shanhua-fu/p/6912683.html Windows7 下python3和pytho ...
 - 同时装了Python3和Python2,怎么用pip?
		
问题:同时装了Python3和Python2,怎么用pip? Ubuntu13.04, 系统内同时装了Python3.3 和 2.7 用sudo apt-get install python-pip ...
 
随机推荐
- springboot 初识
			
从实用主义来学习springboot的话,那我们期望的就是首先知道 1 他是个什么东西 2 我们为什么要用他,他能带来什么样的好处 3 如何快速上手 简单来讲,springboot你可以理解成spri ...
 - 【机器学习】EM算法详细推导和讲解
			
今天不太想学习,炒个冷饭,讲讲机器学习十大算法里有名的EM算法,文章里面有些个人理解,如有错漏,还请读者不吝赐教. 众所周知,极大似然估计是一种应用很广泛的参数估计方法.例如我手头有一些东北人的身高的 ...
 - js-ES6学习笔记-module(3)
			
1.如果想设置跨模块的常量(即跨多个文件),或者说一个值要被多个模块共享,可以采用下面的写法. // constants.js 模块 export const A = 1; export const ...
 - 【java】开发中常用字符串方法
			
java字符串的功能可以说非常强大, 它的每一种方法也都很有用. java字符串中常用的有两种字符串类, 分别是String类和StringBuffer类. Sting类 String类的对象是不可变 ...
 - IDEA项目搭建三——简单配置Maven使用国内及本地仓库
			
大家在前面创建时发现Maven下载jar包的时候会很慢,我们又引入了自己的Maven,所以可以配置一下不让其去国外下载jar包,而使用国内的镜像站来加快下载速度 1.找到Maven所在文件夹 2.在c ...
 - nginx禁止ip默认参数是$remote_addr无法禁止真实ip的问题
			
由于网站使用了cdn所以$remote_addr获取的ip是cdn的ip,我现在先禁止某些ip访问发现无法禁止cdn传递过来的客户端的ip也就是$http_x_forwarded_for这个参数.比如 ...
 - Flutter开发中的几个常用函数
			
几个Flutter开发中的常用函数 /** 返回当前时间戳 */ static int currentTimeMillis() { return new DateTime.now().millisec ...
 - Bootstrap源码分析系列之整体架构
			
作为一名合格的前端工程师,你肯定听说过Bootstarp框架.确实可以说Bootstrap框架是最流行的前端框架之一.可是也有人说Bootstrap是给后端和前端小白用的,我认为只要学习它能给我们前端 ...
 - c# 通过GroupBy 进行分组
			
有时候我们需要数据根据一些字段进行分组,这时候用orderBy很方便.不多说了.直接上代码: class Ma { public int number { get; set; } public str ...
 - Windows2003系统如何设置能让两个人共用一个桌面同时远程控制?
			
在windows 2003上,可以两人同时同一桌面控制一台服务器,交流非常方便. 解决方案: 两人都用终端远程登陆到服务器上,其中一人在“开始”--“管理工具”--“终端服务管理器”,选中对方的用户名 ...