Python是一种面向对象的直译计算机程序设计语言。它也是一种功能强大的通用语言。它体积小,界面简单。它具有非常简单和清晰的语法特征。它可以帮助用户快速编写代码,代码运行非常快。
软件特点
在Python中重写字典,它利用了PyPy项目贡献的新实现。除了更快、更紧凑外,字典还将继承元素的顺序——元素按添加的顺序排列,就像列表一样。
1、Typing模块的改进
Python是一种动态语言,但可以通过typing模块添加类型提示,以便第三方工具验证python代码。Python为typing添加了一些新元素,因此它可以支持更强的检查:
Final修饰器和Final类型的标记表明,任何时候都不应重写或继承被修饰或标记的对象,也不应重新赋值。
2、仅通过位置指定的参数
仅通过位置指定的参数是函数定义中的一种新语法,程序员只能通过位置强迫某个参数指定。这可以解决Python函数定义中哪个参数是位置参数,哪个参数是关键字参数的模糊性。
3、新版本的pickle协议
Python引入的第五版pickle协议可以使用一种新的pickle对象方法,它可以支持python的缓冲区协议,如bytes、memoryviews或Numpy aray等。新的pickle避免了pickle这些对象中的许多内存复制操作。
4、赋值表达式
Python最明显的变化是赋值表达式,即=操作符。赋值表达式可以说一个值赋予一个变量,即使变量不存在。它可以用于表达式,而不用作单独的句子。
while (line := file.readline()) != “end”: print(chunk)“end”:
print(chunk)
在上一个例子中,如果变量line不存在,它将被创建,然后是file.readline()给它返回值。然后检查line是否为“end”。如果没有,读取下一行,保存在line中,然后继续测试。
赋值表达式遵循Python一贯简洁的传统,就像列表分析一样。其目的是避免在特定的Python编程模式中出现一些枯燥的样板代码。例如,上述代码需要在一般写作方法中多写两行代码。
5、多过程共享内存
在Python中,multiprocessing模块提供sharedmemory,可以在不同的Python进城之间创建共享内存区域。
在旧版本的Python中,进程间共享数据只能通过写入文件、通过网络套接字发送,或者通过Python的pickle模块进行序列化。共享内存为进程间传输数据提供了更快的方式,使Python的多处理器和多核编程更有效率。
共享内存片段可以作为简单的字节区域或类似列表的不可修改的对象进行分配,包括保存少量的Python对象,如数字类型、字符串、字节对象和None对象。
6、支持f字符串调试
f字符串格式可以更方便地在同一表达式中计算输出文本和值或变量,效率更高。
x = 3 print(f‘{x 1}’)
print(f‘{x 1}’)
输出4。
在f字符串表达式的末尾没有添加=可以输出f表达式本身的值,然后是计算值
x = 3print (f‘{x 1=}’)
print (f‘{x 1=}’)
输出为x 1=4。
性能改进
1、由于许多函数需要进行不必要的参数转换,许多内置方法和函数的速度都提高了20%~50%。
2、新的opcode缓存可以提高解释器中特定指令的速度。然而,目前只有LOAD_实现了速度的提高GLOBAL opcode,它的速度提高了40%。类似的优化也将在以后的版本中进行。
3、shutill等文件复制操作.copyfile()和shutil.copytree()现在利用平台的具体调用等优化措施,提高操作速度。
4、由于列表结构函数能够提前知道列表的长度,新创建的列表平均比以前小12%。
5、Python中向新型(如classs) A(object))类变量中的写入操作变得更快。operator.itemgetter()和collections.namedtuple()速度也得到了优化。
6、CPython的另一个新CPython API——“vectorcall”调用协议——在不创建临时对象的情况下,可以更快地调用Python的内部方法。API仍然不稳定,但有了显著的改进。
软件界面
更新日志
1、BUG优化