越来越多的库要放弃Python 2了,强哥也开始转向Python 3了。最近的项目开始用Python3写了,也体会了一下2和3的区别。主要的一些区别在以下几个方面:

  • print函数
  • 整数相除
  • Unicode
  • 异常处理
  • xrange
  • map函数
  • 不支持has_key

print函数

Python 2中print是语句(statement),Python 3中print则变成了函数。在Python 3中调用print需要加上括号,不加括号会报SyntaxError

Python 2

print 

输出

hello world

Python 3

print

输出

hello world

print 

输出

 File "<stdin>", line 1print "hello world"^
SyntaxError: Missing parentheses in call to 'print'

整数相除

在Python 2中,3/2的结果是整数,在Python 3中,结果则是浮点数

Python 2

print 

输出

3 / 2 = 1
3 / 2.0 = 1.5

Python 3

print

输出

3 / 2 = 1.5
3 / 2.0 = 1.5

Unicode

Python 2有两种字符串类型:str和unicode,Python 3中的字符串默认就是Unicode,Python 3中的str相当于Python 2中的unicode。

在Python 2中,如果代码中包含非英文字符,需要在代码文件的最开始声明编码,如下

# -*- coding: utf-8 -*-

在Python 3中,默认的字符串就是Unicode,就省去了这个麻烦,下面的代码在Python 3可以正常地运行

a 

异常处理

Python 2中捕获异常一般用下面的语法

try

或者

try

Python 3中不再支持前一种语法,必须使用as关键字。

xrange

Python 2中有 range 和 xrange 两个方法。其区别在于,range返回一个list,在被调用的时候即返回整个序列;xrange返回一个iterator,在每次循环中生成序列的下一个数字。Python 3中不再支持 xrange 方法,Python 3中的 range 方法就相当于 Python 2中的 xrange 方法。

map函数

在Python 2中,map函数返回list,而在Python 3中,map函数返回iterator。

Python 2

map

输出

[1, 2, 3, 4, 5]

Python 3

map

输出

<map object at 0x7ff5b103d2b0>

list

输出

[1, 2, 3, 4, 5]

filter函数在Python 2和Python 3中也是同样的区别。

不支持has_key

Python 3中的字典不再支持has_key方法

Python 2

person 

输出

person has key "age":  True
person has key "age":  True

Python 3

person 

输出

person has key "age":  True

print

输出

Traceback (most recent call last):File "<stdin>", line 1, in <module>
AttributeError: 'dict' object has no attribute 'has_key'

以上是最近整理的一些,后续会继续更新,也欢迎大家补充。

python2中的print语句可以不用小括号。_Python 2与Python 3的区别相关推荐

  1. python2中的print语句可以不用小括号。_Python 2.7终结于7个月后,这是你需要了解的3.X炫酷新特性...

    从 3.0 到 3.8,Python 3 已经更新了一波又一波,但似乎我们用起来和 2.7 没有太大区别?以前该怎么写 2.7 的代码现在就怎么写,只不过少数表达方式变了而已.在这篇文章中,作者介绍了 ...

  2. python2中可以使用print()函数吗_在Python2.x中使用print()(函数版本)

    我理解语句和表达式之间的区别,我理解Python3将print()转换为函数. 但是我在各种Python2.x解释器上运行了一个用括号括起来的print()语句,它运行完美,我甚至不需要导入任何模块. ...

  3. python2中可以使用print()函数吗_Python3中的 print 函数有哪些用法?

    自从python3更新以后,大家对函数的热情再一次高涨起来,好多小伙伴问小编,3之后函数的使用有没有什么改变?今天小编就这个问题,跟大家说一说,感兴趣的小伙伴可以来看下了哦~ 关于print函数的用法 ...

  4. Linux之shell中的大括号、中括号、小括号的使用详解+多示例

    摘要:很多人和我一样对于shell的各种括号的各种用法肯定不是很清楚,有时候看见别人脚本都不知道是什么意思,今天就来说说bash中的大中小括号的用法和解释,本人常用bash所以也只能用bash来说明了 ...

  5. python中的import语句的作用是什么_什么是Python import语句?在Python中的import语句作用有哪些?...

    Python import语句是用来导入模块的,在python模块库中有着大量的模块可供使用,import语句作用是把文件需要用的指定模块导入到当前程序中. import语句的作用 import语句作 ...

  6. java和C#中 定义变量,加一个小括号是什么意思。。。

    在群里灌水发现,有人这样定义字符串,感觉很好奇..又问了群友,群友说这样定义没问题.. String strtemp = ("test"); 我自己试了下,java和C#都可以,C ...

  7. python 小括号 运算_浅析python 中大括号中括号小括号的区分

    python语言最常见的括号有三种,分别是:小括号( ).中括号[ ]和大括号也叫做花括号{ }.其作用也各不相同,分别用来代表不同的python基本内置数据类型. 1.python中的小括号( ): ...

  8. python中的for语句可以在任意序列_python在循环内任意增加迭代器

    python在循环内任意增加迭代器 我可能会以错误的方式处理此问题,但我想知道如何在python中处理此问题. 首先一些C代码: int i; for(i=0;i<100;i++){ if(i ...

  9. python中csv模块是自带的吗_python csv模块 Python的CSV模块,怎么新建为添加模式

    在python 3.5.2中csv模块怎么 安装 首先打开cmd,Ctrl + R快捷键.输入cmd,点击回车.在cmd命令窗口输入python,检查环境是否配置好.退出环境exit().输入 pip ...

最新文章

  1. 自定义Push和Pop过渡动画
  2. matlab svm工具箱_机器学习笔记--SVM(MATLAB 实现代码)
  3. python字符编码是什么_python3字符编码是什么?怎么用?
  4. Forbidden Attack:7万台web服务器陷入被攻击的险境
  5. 用python画猫咪怎么画-Python海龟画图工具绘制叮当猫程序
  6. spring mvc框架设计与实现
  7. [Android] 开发第六天
  8. C与指针、C陷阱与缺陷
  9. jzoj3348,bzoj3258-秘密任务【最短路,网络流最小割】
  10. 无服务器冷启动不是问题-这就是为什么(对于大多数应用程序)
  11. 2021年的高考大约多久可以查询成绩,2021高考完什么时候可以查分数 查成绩的时间...
  12. 计算机控制系统笔记,计算机控制系统复习笔记.doc
  13. 3月第3周安全回顾 大规模网页攻击 百万张信用卡数据丢失
  14. linux cp覆盖每次都有提示
  15. win10 更新 英特尔显示器音频 后显示器音箱没有声音
  16. QQ群排名技术讲解、实战分析、核心要点 盗引结合篇
  17. Python 爬虫问卷星填写
  18. JavaScript下的setTimeout(fn,0)意味着什么?
  19. 多模态Prompt Tuning,你到底行不行?
  20. EventBus使用详解的

热门文章

  1. 递归函数练习——累乘
  2. 这边有本书:中国社会生存的必备常识(修订版)下载
  3. Linq Coding -- Part Three [Let子句]
  4. MFC全局函数开局——AfxGetApp解剖
  5. 拉格朗日乘子法 KKT条件
  6. C++ Primer 5th笔记(chap 13 拷贝控制) 实例2内存管理
  7. C++ Primer 5th笔记(chap 13 拷贝控制)实例1
  8. 以太坊节点布置(3) 启动geth客户端
  9. 什么是浏览器跨域访问操作,js如何实现?
  10. 多态及其内部原理剖析