Python与人工智能——8、Python2.0与3.0的区别

2024-09-23 08:29:12 浏览数 (3)

前言

Python作为当前最为流行的一种语言与身份程序员的大家们几乎是时时刻刻分不开的,无论是做任何方面的工作基本上不会缺少Python的出现,就好似现阶段各平台的低代码Agent开发都支持的是Python语言,对其它的语言友好度都不是很高,那么,我们就非常的有必要将Python深入的了解一下,本系列文章的目的就是为了让大家对于Python有个更加直观的了解,并且要使用Python做很多的小应用,只有真正的实操了才能更好的掌握它。

正文

开发工具:Pythony与人工智能——3、Python开发IDE工具VSCode-CSDN博客

Python2.0与3.0的区别

我们在二次开发的时候经常是可以看到2.0开发样式的,那么这里我就先说明一下他们的区别,如果遇到了二次开发起码认得格式。

一、语法方面

1、print语句

Python 2:print是一个语句,使用方式如print "Hello"。 Python 3:print()是一个函数,使用方式如print("Hello")。

代码语言:javascript复制
# Python 2
print "Hello"
# Python 3
print("Hello")

2、整数除法

Python 2:整数相除结果为整数,例如3/2结果为 1。 Python 3:整数相除结果为浮点数,例如3/2结果为 1.5。

代码语言:javascript复制
# Python 2
print 3/2
# 输出 1
# Python 3
print(3/2)
# 输出 1.5

3、异常处理

Python 2:可以使用except Exception, e:的语法捕获异常并获取异常对象。 Python 3:必须使用except Exception as e:的语法。

代码语言:javascript复制
# Python 2
try:
    raise ValueError("Error")
except ValueError, e:
    print(e)
# Python 3
try:
    raise ValueError("Error")
except ValueError as e:
    print(e)
二、编码方面

默认字符编码

Python 2:默认 ASCII 编码,若要使用中文等非 ASCII 字符,需要在文件开头添加# -*- coding: utf-8 -*-等编码声明。 Python 3:默认使用 UTF-8 编码,无需额外的编码声明即可处理非 ASCII 字符。

示例:

代码语言:javascript复制
# Python 2
# -*- coding: utf-8 -*-
print(u"中文")
# Python 3
print("中文")
三、库的变化

urllib和urllib2库

Python 2:有urllib和urllib2两个库用于处理 URL 相关操作。 Python 3:将它们合并到urllib.request、urllib.error等子模块中。

示例:

代码语言:javascript复制
# Python 2
import urllib2
response = urllib2.urlopen('https://www.example.com')
# Python 3
import urllib.request
response = urllib.request.urlopen('https://www.example.com')

xrange和range

Python 2:xrange()返回一个迭代器,range()返回一个列表。 Python 3:只有range(),它返回一个类似迭代器的对象,节省内存。

示例:

代码语言:javascript复制
# Python 2
for i in xrange(10):
    pass
# Python 3
for i in range(10):
    pass

总结

Python 2 与 3 主要区别在于语法,如 print 用法、整数除法结果不同;编码上,3 默认 UTF-8 编码;库也有变化。3 更现代化,修正了一些 2 的不足,但不兼容 2。

0 人点赞