介绍:
在过来的几十年里,Python 在编程或脚本语言畛域为本人发明了一个名字。python 受到高度青眼的次要起因是其极其的用户敌对性。Python 还用于解决简单的程序或编码挑战。机器学习 (ML)、人工智能 (AI) 和数据迷信等新兴畛域也满足了学习这种语言的高需要。与 Java、C# 和其余语言等传统语言相比,Python 是一种弱小的编程语言,迅速成为开发人员、数据科学家和 AI/ML 爱好者的最爱。
Python 作为一种编程语言,有许多用例吸引了 IT 行业的学习者和专家。在根本层面上,Python 能够用作编程语言来练习数据结构和算法或开发简略的我的项目或游戏。Python 作为一种语言的多功能性使其用户能够轻松扩大他们的我的项目并创立网站、软件或预测模型。自动化正在接管 IT 行业的大部分畛域,而 Python 作为用于自动化数据分析或数据迷信工作的首选语言处于领先地位。除此之外,Python 领有大量的库和弱小的程序员社区,他们一直为 Python 作为一种语言减少更多价值。
理解 Python 及其用例:
初学者被 Python 吸引的泛滥起因之一是它的用户敌对性。Python 摒弃了令人生畏的分号,并应用简略的缩进构造作为其语法。Python 还发现了一个用例作为须要可编程接口的应用程序的扩大。Python 的其余一些益处包含其最令人垂涎的性能,即它的库。Python 库是一种微小的资源,可用于许多要害的代码编写,例如:
- 基于正则表达式的代码
- 字符串解决
- 互联网协议,如 HTTP、FTP、SMTP、XML-RPC、POP、IMAP
- 对立码
- 文件系统和计算文件之间的差别
- CGI 编程
- 数学建模
- 数据库查问
- 数据分析
- 数据可视化
- 自动化代码
所有这些性能都能够在许多 Unix、Linux、macOS 和 Windows 零碎上执行。
剖析 Python 3.9 V/s Python 3.10 的差别
多年来,Python 进行了大量降级,并且在新版本中增加了许多性能。在这里,让咱们关注 Python 增加的两个最新版本。摸索更新的性能能够帮忙您顺利应用它,当然,还能够找到应用更新库的更智能的工作形式。上面所附的所有代码仅用于教育目标,并且取自与新版本(例如 Python 3.9 和 Python 3.10)一起公布的原始 Python 文档
Python 3.9:
IANA 时区数据库
在 Python 3.9 中创立了一个名为 zoneinfo 的新模块。通过此模块,您能够拜访 IANA 或互联网号码调配机构时区数据库。默认状况下,此模块应用零碎的本地时区数据。
代码:
print(datetime(2021, 7, 2, 12, 0).astimezone())
print(datetime(2021, 7, 2, 12, 0).astimezone().strftime("%Y-%m-%d %H:%M:%S %Z"))
print(datetime(2021, 7, 2, 12, 0).astimezone(timezone.utc))
输入:
2020-07-2 12:00:00-05:00
2020-07-2 12:00:00 EST
2020-07-2 17:00:00+00:00
合并和更新字典的函数
Python 3.9 减少了另一个很酷的性能,引起了很多关注。Python 3.9 当初能够应用运算符合并或更新字典。新的运算符 ie (|) 和 (|=) 已增加到 Python 3.9 内置 dict 类中。您能够应用相似于上面标记的代码拜访这些运算符以合并或更新字典。
代码:
>>> a = {‘v’: 1, 'art’: 2,'py’: 3}
>>> b = {’v’: 'd’,'topic’: 'python3.9’}
合并代码:
>>> a | b
{’art’: 2, 'py’: 3,’v’:’d’,'topic’: 'python3.9’}
>>> b | a
{’v’: 1,’art’: 2, 'py’: 3,'topic’:’python3.9’}
更新代码:
>>> a |= b
>>> a
{'art': 2, 'py': 3,'v':'d'}
删除前缀和后缀
应用 Python 3.9 中增加的新性能能够更轻松地解决字符串解决问题。上面标记的代码用于从示例字符串中去除前缀和后缀。以下示例代码中应用的新办法是:
- removeprefix() – 这个办法依据它的性能失当地命名,它是去除给定样本字符串中存在的前缀。
- removesuffix() – 此办法从传递给它的示例字符串中删除现有的后缀。
因为程序员对其缺点性质的负面评估,创立了这些新办法来替换旧的 strip() 办法。上面标记的是一个示例代码,能够帮忙您理解这两种新办法的实现。
代码:
print("海拥在里面玩".removeprefix("海拥"))
输入:
‘在里面玩’
在 Python 3.9 中对内置泛型类型应用类型提醒
Python 3.9 版本启用了对所有规范汇合的通用语法的反对性能,这些性能目前在输出模块中可用。泛型类型通常被定义为一个容器,例如一个列表。它是一种能够轻松参数化的类型。通常,泛型类型具备一种或多种类型的参数,而参数化泛型是具备容器元素的泛型数据类型的特定实例,例如,列表或字典内置汇合类型是反对的各种类型,而不是专门反对的类型应用 Typing.Dict 或 typing.List
代码:
def print_value(input: str): # 指定传递的值将是字符串类型
通过应用上面的形式,咱们将可能找到以下输出是否为字符串
Python 3.10:
应用构造模式进行匹配 全新的 Python 3.10 中引入了一项称为构造模式匹配的新性能。此匹配过程与雷同的匹配案例逻辑一起运行,但它还与比拟对象进行比拟以跟踪给定模式。
Python 3.9 的代码:
http_code = "419"
if http_code == "200":
print("OK")
elif http_code == "404":
print("Not Found Here")
elif http_code == "419":
print("Value Found")
else:
print("Code not found")
Python 3.10 的代码:
http_code = "419"
match http_code:
case "200":
print("Hi")
case "404":
print("Not Found")
case "419":
print("You Found Me")
case _: #Default Case
print("Code not found")
改良的语法错误音讯
大量程序员在谬误匹配或调试代码方面面临艰难。Python 3.10 增加了一个十分用户敌对的个性,称为关联倡议,它带有语法错误音讯标记。这有助于您疾速找到其中存在谬误或谬误的代码的修复程序。
代码:
named_car = 77
print(new_car)
输入:
NameError: name 'new_car' is not defined. Did you mean: named_car?
更好的类型提醒
从 Python 3.9 降级,咱们能够不应用 union 关键字而只应用 OR 符号来调配参数的多种输出类型。为同一个变量定义多个输出类型是一种更简略的办法
Python 3.9 的代码:
def add(a: Union[int, float], b: Union[int, float]):
Python 3.10 的代码:
def add(a: int | float, b: int | float):
改良的上下文管理器 上下文管理器有助于解决文件等资源。您当初能够在单个块中应用多个上下文。这将大大加强您的代码,因为您不再须要多个块或语句。
以前的语法:
with open('output.log', 'rw') 作为 fout:
fout.write('hello')
最新语法:
with (open('output.log', 'w') as fout, open('input.csv') as fin):
fout.write(fin.read()
本次分享就到这啦,如果对您有帮忙的话,点个关注再走吧~ 感激浏览。