当前位置: 首页 > news >正文

房产建设网站企业文化是什么

房产建设网站,企业文化是什么,wordpress主题 知更鸟,南充网站建设价格Python 版本分为两大流派,一个是 Python 2.x 版本,另外一个是 Python 3.x 版本,Python 官方同时提供了对这两个版本的支持和维护。2020 年 1 月 1 日,Python 官方终止了对 Python 2.7 版本(最后一个 Python 2.x 版本&a…

Python 版本分为两大流派,一个是 Python 2.x 版本,另外一个是 Python 3.x 版本,Python 官方同时提供了对这两个版本的支持和维护。

2020 年 1 月 1 日,Python 官方终止了对 Python 2.7 版本(最后一个 Python 2.x 版本) 的支持,这意味着开发者不会在接收到任何来自 Python 2.7 的错误修复或安全更新。自此 Python 2 完全退休,Python 3 时代正式来临。

尽管 Python 2 已退出历史舞台 ,但国内外一些互联网公司仍在使用 Python 2.7 开发程序,同时为了让大家更好地了解 Python 3 ,我们非常有必要知道这两个版本间存在区别。

你也许会问,为什么终止支持了,还会有公司再使用?其实,版本的更换是一项庞大、复杂的工作,一些小型的互联网公司在人力、财力不足的情况下,只能要继续使用低版本的 Python,只有万不得已时才会更新版本。

和 Python 2.x 版本相比,Python 3.x 版本在语句输出、编码、运算和异常等方面做出了一些调整,本节就对这些调整逐一地做简单介绍。


1、print 函数

print 语句没有了,取而代之的是 print() 函数。 Python 2.6 与 Python 2.7 部分地支持这种形式的 print 语法。在 Python 2.6 与Python 2.7 里面,以下三种形式是等价的:

print "hello"
print ("python") #注意print后面有个空格
print("app") #print()不能带有任何其它参数

然而,Python 2.6实际已经支持新的print()语法:

from __future__ import print_function
print("hello", "python","app", sep=',')

2、Unicode

目前 Python 用户面对的又一个“陷阱”就是,字符串现在默认为 Unicode 编码。这种变 化不可能很快就来,当处理 Unicode 和通常的 ASCII 字符串时,无数的 Python 开发人员遇到 这种问题已经不止一两天了。这种问题看起来如下所示。

UnicodeEncodeError: 'ascii' codec can't encode character
u'xae' in position 0: ordinal not in range(128)

在 Python 3.x 中这种类型的问题将不再经常发生。随着新版本的 Python 采用了这种模型,用户将不再需要使用 Unicode 和 ASCII/非 Unicode 字符串这些 术语。

“Python 3.0 中的新内容”(What’s New in Python 3.0)文档相当详细地总结了这种 新模型。 Python 3 使用了文本(text)和(二进制)数据的概念,而非 Unicode 字符串和 8 位字符 串。所有的文本都是 Unicode 编码的。然而,编码的 Unicode 表示成二进制数据。用来保存 文本的类型是 str,而用来保存数据的类型是 bytes。

Python 2 有 ASCII str() 类型,unicode() 是单独的,不是 byte 类型。

现在, 在 Python 3,我们最终有了 Unicode (utf-8) 字符串,以及一个字节类:byte 和 bytearrays。

python2

python3

是否可变

str("")

bytes(b"")

unicode(u"")

str("")

N/A

bytearray

由于 Python3.X 源码文件默认使用utf-8编码,这就使得以下代码是合法的:

>>> 中国 = 'china'
>>>print(中国)
china
  • Python 2.x

>>> str = "我爱北京天安门"
>>> str
'\xe6\x88\x91\xe7\x88\xb1\xe5\x8c\x97\xe4\xba\xac\xe5\xa4\xa9\xe5\xae\x89\xe9\x97\xa8'
>>> str = u"我爱北京天安门"
>>> str
u'\u6211\u7231\u5317\u4eac\u5929\u5b89\u95e8'
  • Python 3.x

>>> str = "我爱北京天安门"
>>> str
'我爱北京天安门'

3、除法运算

Python 中的除法较其它语言显得非常高端,有套很复杂的规则。

Python 中的除法有两个运算符,///

首先来说 / 除法:

在 Python 2.x 中 / 除法就跟我们熟悉的大多数语言,比如 Java 和 C ,整数相除的结果是一个整数,把小数部分完全忽略掉,浮点数除法会保留小数点的部分得到一个浮点数的结果。

在 Python 3.x 中 / 除法不再这么做了,对于整数之间的相除,结果也会是浮点数。

  • Python 2.x:

>>> 1 / 2
0
>>> 1.0 / 2.0
0.5
  • Python 3.x:

>>> 1/2
0.5

而对于 // 除法,这种除法叫做 floor 除法,会对除法的结果自动进行一个 floor 操作,在 Python 2.x 和 Python 3.x 中是一致的。

  • python 2.x:

>>> -1 // 2
-1
  • python 3.x:

>>> -1 // 2
-1

注意的是并不是舍弃小数部分,而是执行 floor 操作,如果要截取整数部分,那么需要使用 math 模块的 trunc 函数

  • python 3.x:

>>> import math
>>> math.trunc(1 / 2)
0
>>> math.trunc(-1 / 2)
0

4、不等运算符

  • Python 2.x中不等于有两种写法 != 和 <>

  • Python 3.x中去掉了<>, 只有!=一种写法,还好,我从来没有使用<>的习惯

5、去掉了repr表达式``

Python 2.x 中反引号``相当于repr函数的作用

Python 3.x 中去掉了``这种写法,只允许使用repr函数,这样做的目的是为了使代码看上去更清晰么?不过我感觉用repr的机会很少,一般只在debug的时候才用,多数时候还是用str函数来用字符串描述对象。

def sendMail(from_: str, to: str, title: str, body: str) -> bool:pass

6、输入的不同

从键盘录入一个字符串

原:

raw_input( "提示信息" )

改为:

 input( "提示信息" )
  • 在python2.x中raw_input()和input( ),两个函数都存在,其中区别为:

– raw_input()---将所有输入作为字符串看待,返回字符串类型

– input()-----只能接收"数字"的输入,在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型(int, float )

  • 在python3.x中rawinput()和input( )进行了整合,去除了rawinput(),仅保留了input()函数,其接收任意任性输入,将所有输入默认为字符串处理,并返回字符串类型。

6、模块改名

旧的名字

新的名字

_winreg

winreg

ConfigParser

configparser

copy_reg

copyreg

Queue

queue

SocketServer

socketserver

repr

reprlib

StringIO模块现在被合并到新的io模组内。 new, md5, gopherlib等模块被删除。

httplib, BaseHTTPServer, CGIHTTPServer, SimpleHTTPServer, Cookie, cookielib被合并到http包内。 取消了exec语句,只剩下exec()函数。

7、数据类型

1)Python3.X去除了long类型,现在只有一种整型——int,但它的行为就像2.X版本的long

2)新增了bytes类型,对应于2.X版本的八位串,定义一个bytes字面量的方法如下:

>>> b = b'china' 
>>> type(b) 
<type 'bytes'> 

str 对象和 bytes 对象可以使用 .encode() (str -> bytes) 或 .decode() (bytes -> str)方法相互转化。

>>> s = b.decode() 
>>> s 
'china' 
>>> b1 = s.encode() 
>>> b1 
b'china' 

3)dict的.keys()、.items 和.values()方法返回迭代器,而之前的iterkeys()等函数都被废弃。同时去掉的还有 dict.has_key(),用 in替代它吧 。

8、八进制字面量表示

八进制数必须写成0o777,原来的形式0777不能用了;二进制必须写成0b111。

新增了一个bin()函数用于将一个整数转换成二进制字串。 Python 2.6已经支持这两种语法。

在Python 3.x中,表示八进制字面量的方式只有一种,就是0o1000。

  • python 2.x

>>> 0o1000
512
>>> 01000
512
  • python 3.x

>>> 01000File "<stdin>", line 101000^
SyntaxError: invalid token
>>> 0o1000
512

9、xrange

在 Python 2 中 xrange() 创建迭代对象的用法是非常流行的。比如: for 循环或者是列表/集合/字典推导式。

这个表现十分像生成器(比如。"惰性求值")。但是这个 xrange-iterable 是无穷的,意味着你可以无限遍历。

由于它的惰性求值,如果你不得仅仅不遍历它一次,xrange() 函数 比 range() 更快(比如 for 循环)。尽管如此,对比迭代一次,不建议你重复迭代多次,因为生成器每次都从头开始。

在 Python 3 中,range() 是像 xrange() 那样实现以至于一个专门的 xrange() 函数都不再存在(在 Python 3 中 xrange() 会抛出命名异常)。

import timeitn = 10000
def test_range(n):return for i in range(n):passdef test_xrange(n):for i in xrange(n):pass   
  • Python 2

print 'Python', python_version()print '\ntiming range()' 
%timeit test_range(n)print '\n\ntiming xrange()' 
%timeit test_xrange(n)Python 2.7.6timing range()
1000 loops, best of 3: 433 µs per looptiming xrange()
1000 loops, best of 3: 350 µs per loop

Python 3

print('Python', python_version())print('\ntiming range()')
%timeit test_range(n)Python 3.4.1timing range()
1000 loops, best of 3: 520 µs per loop
print(xrange(10))
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-5-5d8f9b79ea70> in <module>()
----> 1 print(xrange(10))NameError: name 'xrange' is not defined

10、更新异常的语法

异常处理 在过去,捕获异常的语法和异常参数/实例有以下形式。 except ValueError, e: 用相同的处理程序捕获多个异常,会使用下面的语法。 except (ValueError, TypeError), e: 所需的圆括号使得一些用户迷惑,因为他们经常尝试编写看起来像下面这样的无效 代码。 except ValueError, TypeError, e: 新的 as 关键字是为了确保你不会因为原始语法中的逗号而混淆;然而,当你试图使用相 同的处理程序捕获一种以上的异常时,仍旧需要圆括号。这里有两个相同功能的新语法例子, 它们展示了这种变化:

except ValueError as e:
except (ValueError, TypeError) as e:

自 Python 2.6 以来,之后发行的 2.x 版本在创建异常处理程序时都开始接受这两种形式, 从而促进了移植过程。可以在 PEP 3110 找到关于该变化的更多信息。 抛出异常 Python 2.x 中抛出异常的最受欢迎的语法如下所示。

raise ValueError, e

需要重点强调的是,你正在创建一种异常的一个实例,Python 3.x 中唯一支持的一种语 法如下所示。 raise ValueError(e) 这个语法其实一点也不新鲜。

在超过 10 年前的 Python 1.5(是的,你没有看错)中就引 入了这种语法,当时异常由字符串变化成类,类实例化的语法看起来更像是后者而非前者, 并且我们确信你会同意这一点

http://www.hengruixuexiao.com/news/45353.html

相关文章:

  • 如何再工商局网站做设备抵押全网关键词搜索工具
  • asp做的网站频繁报错 参数错误seo搜索引擎优化是什么意思
  • 网站建设好的公司哪家好郑州靠谱seo整站优化
  • 石家庄做网站网络公司驻马店百度seo
  • 包装设计十大网站网络推广推广
  • 品牌型网站制作价格百度收录快的发帖平台
  • 龙华网站建设网站设计公司直通车关键词怎么优化
  • 个人代做网站线上营销活动有哪些
  • 购物商城网站开发成品短视频软件大全下载手机版
  • 网站代码需要注意什么seo推广计划
  • 安平县哪个做网站的好网站黄页推广软件
  • wordpress 首页置顶汕头seo优化公司
  • 网站建设合同 下载深圳网络营销全网推广
  • 给网站做cdn做网络优化的公司排名
  • 南京 网站建设百度口碑网
  • 哈尔滨做网站哈尔滨学院百度免费推广登录入口
  • 用花生壳做映射的网站需要备案中山百度推广公司
  • 做午夜电影网站今日热点新闻15条
  • 西宁高端企业网站建设百度指数数据来源
  • 青岛独立站开发公司seo排名优化软件有用吗
  • 京东联盟怎么做网站手机如何建网站
  • 潍坊网络建站模板微帮推广平台怎么加入
  • 红色网站主题网络营销的方法是什么
  • 网站建设开发兴田德润关键词优化排名软件流量词
  • 杰恩设计网站是谁做的韶关今日头条新闻
  • 动漫设计就业前景搜索引擎优化排名优化培训
  • 建设网站时候应该注意哪些企业中层管理人员培训课程
  • 多个织梦dedecms网站怎么做站群网页搜索关键字
  • 微信 微网站营销网络营销
  • 重庆网站建设jccit重庆森林经典台词图片