ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python3与Python2的差异

2021-04-13 17:51:38  阅读:176  来源: 互联网

标签:python 差异 neeed print Python3 Python2


watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=       

    今天小婷儿给大家分享的是Python3与Python2的差异。


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


watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


DB笔试面试历史连接  

http://mp.weixin.qq.com/s/Vm5PqNcDcITkOr9cQg6T7w

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


DBA宝典小程序  

  DBA宝典小程序

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

About Me:小麦苗      

● 本文作者:小婷儿

● 作者博客地址:https://blog.csdn.net/u010986753

● 版权所有,欢迎分享本文,转载请保留出处

● QQ群:618766405

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


本文分享自微信公众号 - DB宝(lhrdba)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

标签:python,差异,neeed,print,Python3,Python2
来源: https://blog.51cto.com/lhrbest/2703847

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有