Python 3.10发布——你应该知道的五大新特性
本文约1700字,建议阅读5分钟
本文为大家介绍了新版本Python的新特性。
图片来源:Canva——由Varun Singh编辑
# I am coding in Python and this is first line ;)
my_list = ["Hello", "Python!"
print(my_list)
File "my_precious.py", line 3
print(my_list)
^
SyntaxError: invalid syntax
File "my_precious.py", line 2
news = ["Hello", "Python!"
^
SyntaxError: '[' was never closed
# missing_comma.py
dc_characters = {
1: "Superman" # Comma missing
2: "Batman",
3: "Joker"
}
....
Output:
File "dc_characters.py", line 4
10: "October"
^^^^^^^^^
SyntaxError: invalid syntax. Perhaps you forgot a comma?
# Before Python 3.10 Release
from typing import Union
def f(list: List[Union[int, str]], param: Optional[int]):
pass
# In Python 3.10 Release
def f(list: List[int | str], param: int | None):
pass
# Calling the function
f([1, “abc”], None)
int | str == typing.Union[int, str]
typing.Union[int, int] == int
int | int == int
# Before Python 3.10 Release
with (open("a_really_long_foo") as foo,
open("a_really_long_bar") as bar):
pass
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "demo.py", line 19
with (open("a_really_long_foo") as foo,
^
SyntaxError: invalid syntax
# After Python 3.10 Release
from contextlib import contextmanager
@contextmanager
def f(x):
try:
yield x
finally:
pass
# Example 1
with f('c') as a,
f('a') as b:
pass
# Example 2
with f('c') as a,
f('a') as b,
f('a') as c:
pass
# Before Python 3.10
UserInfo = tuple[str, int]
# In Python 3.10
from typing import TypeAlias
Card: TypeAlias = tuple[str, str]
Deck: TypeAlias = list[Card]
# Before Python 3.10
names = ["Tom", "Harry", "Jessica", "Robert", "Kevin"]
numbers = ["21024", "75978", "92176", "75192", "34323"]
list(zip(names, numbers))
.....
Output:
[(Tom, 21024), (Harry, 75978), (Jessica, 92176), (Robert, 75192), (Kevin, 34323)]
# Before Python 3.10
names = ["Tom", "Harry", "Jessica", "Robert"] # Kevin is missing
numbers = ["21024", "75978", "92176", "75192", "34323"]
# Zipping using zip()
list(zip(names, numbers))
......
Output
[(Tom, 21024), (Harry, 75978), (Jessica, 92176), (Robert, 75192)]
# In Python 3.10
names = ["Tom", "Harry", "Jessica", "Robert"] # Kevin is missing
numbers = ["21024", "75978", "92176", "75192", "34323"]# Zipping using zip() with additional Parameter strict=True
list(zip(names, numbers, strict=True))....
Output:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: zip() argument 2 is shorter than argument 1
此版本有很多错误修复以及其他一些小更新,如果您有兴趣,可以在官方发布页面上找到。
原文标题:
Python 3.10 Released — Top 5 New Features You should Know
原文链接:
https://varun-singh-01.medium.com/python-3-10-released-top-5-new-features-you-should-know-bf968ac99230
「完」
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号
随时掌握互联网精彩
随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 澳门是伟大祖国的一方宝地 7998218
- 2 80岁顶级富豪再婚娶33岁华裔妻子 7907107
- 3 星巴克大罢工 7840637
- 4 2024 向上的中国 7760371
- 5 向佐 我一踢腿就会走光 7603407
- 6 男子钓上一条自带“赎金”的鱼 7523570
- 7 特朗普:马斯克不会成为总统 7446830
- 8 鹿晗录制新综艺 法令纹明显 7392348
- 9 韩国一军方驻地爆炸 3名平民被烧伤 7258997
- 10 大S老公具俊晔站C位跳女团舞 7130393