专栏首页公众号:googpyPython2和3的区别

Python2和3的区别

学2还是3我想这是每一个初学者都会遇到的难题,我觉得作为一名新手直接上3。Python3是未来的大势所趋,2.7现在只是在维护,不会增加新的功能。

接下来,我把2和3的主要区别整理一下分享给大家,有一部分参考了网上,我结合自己的理解和分析,希望可以帮到大家。

1.print这个可能是py2和py3最大的区别,很多人用惯py2的人很不习惯,为什么3一定要加上一个(),这是因为print从语句变为函数。

2.类型比较

当比较两个变量的时候,比如x<y,如果遇到x和y的类型不匹配,py2直接返回bool结果。

def fun1(x,y):

try:

return x<y

Exception as e:

print(e)

print fun1([1],2)

False

很明显x是列表,而2是整形,二者根本不能比较,py2直接返回False,不严谨!py3对这点做了改良。

当比较两个变量的时候,比如x<y,如果遇到x和y的类型不匹配,py3直接抛出异常

def fun1(x,y):

try:

return x<y

Exception as e:

print(e)

fun1([1],2)

unorderable types:list()<int()

3.字符串的问题。字符串也就是文本,这个问题一直在py2里面没有很好的处理。在py3里面彻底的解决了。Python3最重要的改动除了print,大概要算是对文本和二进制数据作了更为清晰的区分。文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示。

4.输入函数改变了。

5.赋值变量,扩展的可迭代解包

6.异常处理

7.字典

8.高阶函数

9.range和xrange

10.关于类

11.生成器yield

12.其他

Py2和py3最大的区别在于print和字符串,其他的都是一些小的修改。但是虽然小的调整,我们可以仔细思考为啥要这样调整。透过现象看本质,发现Py3对语言上更加严谨更加严格,可读性更高,代码更简洁,更安全,越来越pythonic。处处体现了工匠精神。

本文分享自微信公众号 - googpy(googpy),作者:stormwen

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-01-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 函数和参数

    Python里面有很多内置函数,使用函数可以让我们更快捷得实现要求,但函数那么多,死记硬背肯定不行,就需要我们平时多留心,遇到新的内置函数,多用help指令看看...

    stormwen
  • Python字符串处理的8招秘籍

    Python的字符串处理,在爬虫的数据解析、大数据的文本清洗,以及普通文件处理等方面应用非常广泛,而且Python对字符串的处理内置了很多高效的函数,功能非常强...

    stormwen
  • 常见的Python面试题

    花了两天时间,整理了一些常见的Python面试题,希望对即将参加招聘面试的或者准备转行的同学有一些帮助,临阵磨枪不快也光,大家加油鸭!

    stormwen
  • 【机器学习】Python 快速入门笔记

            在模块内、所有函数外、class外的变量,可以被全局共享,也可以被外部文件共享

    py3study
  • 第2课 python数据类型与转换

    是的,我们主要是3类数据 类型。。 3者之间可以转换,但是有条件,我们先一个个说吧。

    py3study
  • Python基础语法

    https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c...

    六月的雨
  • Python基础(中)

    注意:在python3中input获取键盘输入的数据,都以字符串的方式进行保存,即使输入的是数字。

    py3study
  • python函数的用法

      3.函数可以当作一个值赋值给一个变量 例:a=myprint()    a()

    py3study
  • Python3.6 异常处理和asser

    py3study
  • python3-2笔记

    一.深复制和浅复制 1.引用和赋值 引用是一个值,指向某些数据 列表引用是指向一个列表的值 当你将列表赋给你一个变量时,实际上是将列表的‘引用’赋给了改变变量。...

    py3study

扫码关注云+社区

领取腾讯云代金券