第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

[自動(dòng)化實(shí)戰(zhàn)」總結(jié)從python2.7和python3.0的語(yǔ)法差異

標(biāo)簽:
Python

我的实战课《python自动化运维实战》经过了一年的设计,工程是基于python2.7版本开发而成。
Python 2/3的思想基本是共通的,只有少量的语法有差别甚至不兼容。当对Python熟悉到一定程度时, 通过学习Python 2也可以在很短的时间就能写Python 3的代码。

如下,总结从python2.7升级到python3.0需要修改的差异

一、基本语法
1、python3默认编码

Python2 的默认编码是 asscii,这也是导致 Python2 中经常遇到编码问题的原因之一,至于是为什么会使用 asscii 作为默认编码,原因在于 Python这门语言诞生的时候还没出现 Unicode。Python 3 默认采用了 UTF-8 作为默认编码,因此你不再需要在文件顶部写 # coding=utf-8 了。

2、迭代器

在 Python2 中很多返回列表对象的内置函数和方法在 Python 3 都改成了返回类似于迭代器的对象,因为迭代器的惰性加载特性使得操作大数据更有效率。Python2 中的 range 和 xrange 函数合并成了 range,如果同时兼容2和3,可以这样:

另外,字典对象的 dict.keys()、dict.values() 方法都不再返回列表,而是以一个类似迭代器的 "view" 对象返回。高阶函数 map、filter、zip 返回的也都不是列表对象了。Python2的迭代器必须实现 next 方法,而 Python3 改成了 next

3、print不再是语句,而是函数

比如原来是 print 'abc' 现在是 print('abc')

但是 python2.6+ 可以使用 from future import print_function 来实现相同功能。

4、原来1/2(两个整数相除)结果是0,现在是0.5了


$ /opt/python3.6/bin/python3

Python 3.6.2 (default, Aug 4 2017, 10:27:08)

[GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

>>> 1/2

0.5

>>> 1/3

0.3333333333333333

5、新的字符串格式化方法format取代%

6、python3 彻底废弃了 long+int

统一为 int , 支持高精度整数运算

7、Python2中用raw_input ,Python3中用input

二、数据类型
1、字符串

字符串是最大的变化之一,这个变化使得编码问题降到了最低可能。在 Python2 中,字符串有两个类型,一个是 unicode,一个是 str,前者表示文本字符串,后者表示字节序列,不过两者并没有明显的界限,开发者也感觉很混乱,不明白编码错误的原因,不过在 Python3 中两者做了严格区分,分别用 str 表示字符串,byte 表示字节序列,任何需要写入文本或者网络传输的数据都只接收字节序列,这就从源头上阻止了编码错误的问题。

三、模块化编程
1、增加了一些新模块

concurrent.futures、venv、unittest.mock、asyncio、selectors、typing

2、去掉了一些模块或者函数

gopherlib、md5、contextlib.nested、inspect.getmoduleinfo等。

去掉的内容的原因主要是2点:

(1). 过时的技术产物,已经没什么人在用了;

(2). 出现了新的替代产物后者被证明存在意义不大。理论上对于开发者影响很小。

3、模块名称修改

把一些相关的模块合并到同一个包里面,如:

如httplib, BaseHTTPServer, CGIHTTPServer, SimpleHTTPServer, Cookie, cookielib放进了http里面。

urllib, urllib2, urlparse, robotparse放进了urllib里面。

SocketServer模块名改成了socketserver,Queue模块名改成queue

图片描述
课程介绍:https://coding.imooc.com/class/160.html
课程问答区:https://coding.imooc.com/learn/qa/160.html

點(diǎn)擊查看更多內(nèi)容
10人點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消