Python3.6-3.8新特性详解:提升编程效率的技巧
30 浏览量
更新于2024-08-31
收藏 146KB PDF 举报
【资源摘要信息】: "本文总结了Python3.6、3.7、3.8的主要新特性,包括新的格式化字符串、变量声明语法、数字下划线写法以及异步生成器等,旨在帮助读者更好地理解和掌握Python的最新进展。"
Python3.6的新特性:
1. **新的格式化字符串方式**: 引入了f-string,它是一种更简洁的字符串格式化方法,允许在字符串中直接嵌入表达式。例如:
```python
name = "red"
print(f"Hesaidhisnameis{name}.") # 输出:Hesaidhisnameisred.
```
这比传统的`str.format()`更直观且高效。
2. **变量声明语法**: 通过`:type`来指定变量类型,例如:
```python
from typing import List, Dict
primes: List[int] = []
captain: str # 没有初始值
```
这并不强制类型检查,但能提供更好的代码文档和IDE支持。
3. **数字的下划线写法**: 数字中可以使用下划线来增强可读性,如`1_000_000`代表1,000,000,`0x_FF_FF_FF_FF`表示4294967295。
4. **异步生成器**: 通过`async def`定义的生成器可以返回`await`表达式,允许在生成器中执行异步操作。例如:
```python
async def async_generator():
for i in range(5):
await asyncio.sleep(1)
yield i
```
Python3.7的新特性:
1. **变量赋值顺序的确定**: 3.7开始,解释器保证了赋值语句的顺序,使得数据依赖于赋值顺序的代码更加可靠。
2. **类型注解的存储**: 类型注解现在会被存储在`__annotations__`字典中,这对于类型检查工具和元编程非常有用。
3. **`dict`的有序性**: 3.7版本中,字典保持了插入顺序,这使得字典更像关联数组。
4. **`os.PathLike`接口**: `os`模块的一些函数现在接受实现了`os.PathLike`接口的对象,如`pathlib.Path`。
Python3.8的新特性:
1. **walrus operator(:=)**: 引入了新的赋值运算符,允许在条件表达式中赋值,减少临时变量的使用。例如:
```python
if (found := find_value()) is not None:
print(found)
```
2. **文本换行符**: `print()`函数现在可以接受`sep`参数为空字符串,并自动在每个参数之间添加换行符。
3. **类型注解的`|`运算符**: 允许使用`|`运算符合并多个类型,如`MyType = Union[A, B] | C`。
4. **解析器增强**: 支持更多Jupyter Notebook的魔法命令,以及新的语法糖,如函数参数的默认值可以是其他参数的表达式。
这些新特性的学习和掌握将有助于提升Python开发者的效率和代码质量,使代码更加简洁、易读,同时充分利用现代Python的功能。不断跟进语言的更新是保持编程技能与时俱进的关键。
2018-08-15 上传
2021-02-01 上传
点击了解资源详情
2021-03-07 上传
2022-06-26 上传
2023-11-13 上传
2021-02-04 上传
weixin_38565003
- 粉丝: 6
- 资源: 913
最新资源
- QtBuilder:自动为x64x86,sharedstatic和不同的MSVC版本构建Qt库(仅Windows)
- k-oasobi:过程语言
- streamrip:适用于Qobuz,Tidal和Deezer的可编写脚本的音乐下载器
- configmgr-hub-selfhost
- StickyParallaxRecyclerview
- ConnectGlut.fosax33meo.gaDGnyt
- geekwise-flexbox-dice-git
- pingpp:ping++支付尝试
- เครื่องมือสั่งซื้อ Likeorder-crx插件
- pstl:保留镜子以保留遗产。移至https
- Cisco config sanitizer tool:用于清理 Cisco 配置文件的工具。-开源
- 知识库代码:个人项目,图形生成和示例的代码
- webauthn-simple-app:一个简单的WebAuthn FIDO2 JavaScript应用程序
- Python库 | quills.app-1.7.0b1.zip
- workshop-jupyterlab:JupyterLab研讨会为Pycon APAC 2018做好了准备
- Meilleur Prix - Test Achats-crx插件