北京专业网站制作12333网上服务大厅

news/2025/9/29 2:15:30/文章来源:
北京专业网站制作,12333网上服务大厅,系统开发计划书是在什么阶段完成的,快手评论点赞网站建设专业分站目录 3.83.8.1 海象运算符(赋值运算符)3.8.2 f-string3.8.3 仅限位置形参 [/],[*]3.8.4 多进程共享内存3.8.5 \__pycache__3.8.6 asyncio3.8.7 dict 3.93.9.1 字典合并运算符3.9.2 字符串对齐方法3.9.3 可选的类型提示3.9.4 更好的浮点数支持3.9.5 更好的异常处理3.9.6 更好的装… 目录 3.83.8.1 海象运算符(赋值运算符)3.8.2 f-string3.8.3 仅限位置形参 [/],[*]3.8.4 多进程共享内存3.8.5 \__pycache__3.8.6 asyncio3.8.7 dict 3.93.9.1 字典合并运算符3.9.2 字符串对齐方法3.9.3 可选的类型提示3.9.4 更好的浮点数支持3.9.5 更好的异常处理3.9.6 更好的装饰器语法3.9.7 更好的可迭代协议3.9.8 更好的异步编程支持3.9.93.9.10 更好的注解支持3.9.11 标准多项集中的类型标注泛型3.9.12 \__import__()特性修改3.9.13 新增的模块3.9.14 改进的模块 3.103.10.1 新的 Union Type表达3.10.2 zip 可选严格模式3.10.3 带括号的上下文管理器3.10.4 显式类型别名3.10.5 结构化模式匹配3.10.6 更友好的报错提示3.10.7 distutils 被弃用 参考 3.8 3.8.1 海象运算符(赋值运算符) s jsadlk .strip() def choice():if res:isinstance(s, int): #如果res为真的话赋值给resreturn reselse:return resres choice() 也可用于循环 while a:True:print(helloworld)3.8.2 f-string a 你好 b 世界 print(fa{a} b{b}) # a你好 b世界# f-string在3.8中变得更加简洁 a 你好 b 世界 print(f{a} {b}) # a你好 b世界 还添加了赋值符号!s和!f,制定输入结果格式 import datetimetime datetime.datetime.now() print(f{time!s}) # time2019-07-30 16:58:00.123412import mathprint(f{math.pi!f:.2f}) # 精确到小数点后面两位 3.8.3 仅限位置形参 [/],[*] 新增了一个函数形参语法 / 用来指明某些函数形参必须使用仅限位置而非关键字参数的形式。 这种标记语法与通过 help() 所显示的使用 Larry Hastings 的 Argument Clinic 工具标记的 C 函数相同。在下面的例子中形参 a 和 b 为仅限位置形参c 或 d 可以是位置形参或关键字形参而 e 或 f 要求为关键字形参: def f(a, b, /, c, d, *, e, f):print(a, b, c, d, e, f)#以下均为合法的调用: f(10, 20, 30, d40, e50, f60) # 但是以下均为不合法的调用: f(10, b20, c30, d40, e50, f60) # b cannot be a keyword argument f(10, 20, 30, 40, 50, f60) # e must be a keyword argument以下均为合法定义 def name(p1, p2, /, p_or_kw, *, kw): def name(p1, p2None, /, p_or_kwNone, *, kw): def name(p1, p2None, /, *, kw): def name(p1, p2None, /): def name(p1, p2, /, p_or_kw): def name(p1, p2, /): def name(p1, p2): #当然不加的话没有任何影响,和以前的没有区别下面是有效的定义函数 def name(p_or_kw, *, kw): def name(*, kw): 下面是无效的函数定义 def name(p1, p2None, /, p_or_kw, *, kw): # p_or_kw也需要默认值 def name(p1None, p2, /, p_or_kwNone, *, kw): def name(p1None, p2, /):这种标记形式的一个用例是它允许纯 Python 函数完整模拟现有的用 C 代码编写的函数的行为。 例如内置的 pow() 函数不接受关键字参数: def pow(x, y, zNone, /):Emulate the built in pow() functionr x ** yreturn r if z is None else r%z另一个用例是在不需要形参名称时排除关键字参数。 例如内置的 len() 函数的签名为 len(obj, /)。 这可以排除如下这种笨拙的调用形式: len(objhello) # The obj keyword argument impairs readability第三个用例是将形参标记为仅限位置形参将允许在未来修改形参名而不会破坏客户的代码。 例如在 statistics 模块中形参名 dist 在未来可能被修改。 这使得以下函数描述成为可能: def quantiles(dist, /, *, n4, methodexclusive)...由于在 / 左侧的形参不会被公开为可用关键字其他形参名仍可在 **kwargs 中使用: def f(a, b, /, **kwargs): ... print(a, b, kwargs) ...f(10, 20, a1, b2, c3) # a and b are used in two ways 10 20 {a: 1, b: 2, c: 3}这极大地简化了需要接受任意关键字参数的函数和方法的实现。例如下面是collections模块中的代码摘录 class Counter(dict):def __init__(self, iterableNone, /, **kwds):# Note iterable is a possible keyword argument3.8.4 多进程共享内存 multiprocessing模块提供了SharedMemory类可以在不同的Python进城之间创建共享的内存区域 3.8.5 _pycache_ __pycache__目录是由 Python3 解释器创建的用于保存.pyc 文件。这些文件保存着解释器编译.py 文件之后的字节码byte code。之前的 Python 版本仅仅只是为每个.py 文件创建一个.pyc 文件但是新版本会有所变化。 为了支持多版本的 Python包括一些不是 CPython 的版本如 PyPy现在库文件会为每个 Python 版本创建对应的.pyc 文件格式形如「name.interp-version.pyc」。例如某个 foo.py 文件在第一次使用的时候会创建一个对应的 pyc 文件其路径为「pycache/foo.cpython-37.pyc」这个 pyc 文件会定义使用的 Python 版本。 3.8.6 asyncio asyncio.run() 已经从暂定状态晋级为稳定 API。 此函数可被用于执行一个 coroutine 并返回结果同时自动管理事件循环。 例如: import asyncioasync def main():await asyncio.sleep(0)return 42asyncio.run(main()) 这大致等价于: import asyncio asyn def main():await asyncio.sleep(0)return 42loop asyncio.new_event_loop() asyncio.set_event_loop(loop) try:loop.run_until_complete(main()) finally:asyncio.set_event_loop(None)loop.close() 实际的实现要更复杂许多。 因此 asyncio.run() 应该作为运行 asyncio 程序的首选方式。 3.8.7 dict 现在 dict 和 dictview 可以使用 reversed() 按插入顺序反向迭代。 3.9 3.9.1 字典合并运算符 Python 3.9引入了新的字典合并运算符(|)它可以合并两个字典。下面是一个示例 a {x: 1, y: 2} b {y: 3, z: 4} c a | b print(c) # {x: 1, y: 3, z: 4}在上面的代码中我们首先定义了两个字典a和b然后使用|运算符将它们合并成一个新的字典c。注意如果两个字典中有相同的键则使用后面的字典中的值。 3.9.2 字符串对齐方法 Python 3.9引入了一种新的字符串对齐方法它可以在字符串的左侧、右侧或中心添加填充字符。下面是一个示例 s hello print(s.ljust(10, -)) # hello----- print(s.rjust(10, -)) # -----hello print(s.center(10, -)) # --hello---在上面的代码中我们使用ljust()方法将字符串s左对齐并在右侧添加了-字符使其总长度为10。类似地rjust()方法将字符串右对齐而center()方法将字符串居中对齐。 3.9.3 可选的类型提示 Python 3.9引入了一种新的语法可以将类型提示标记为可选的。下面是一个示例 def greet(name: str, *, greeting: str Hello) - str:return f{greeting}, {name}!在上面的代码中我们定义了一个名为greet()的函数并使用类型提示指定了参数和返回值的类型。注意我们使用符号将greeting参数标记为可选的并使用*符号将其与name参数分开。 3.9.4 更好的浮点数支持 Python 3.9引入了一些新的浮点数方法和常量包括math.isqrt()方法和math.tau常量。下面是一个示例 import mathx 16 print(math.isqrt(x)) # 4print(math.tau) # 6.283185307179586在上面的代码中我们使用math.isqrt()方法计算x的平方根并使用math.tau常量表示圆周率的两倍。 3.9.5 更好的异常处理 Python 3.9引入了一些新的异常处理机制包括新的try语法、新的raise语法和新的异常类型。下面是一个示例 try:# some code that may raise an exception except SomeException as e:# handle the exception else:# execute if no exception is raised finally:# always execute在上面的代码中我们使用新的try语法来捕获可能会引发SomeException异常的代码块并使用except语法处理异常。如果没有异常被引发则执行else语句块。无论异常是否被引发finally语句块都会被执行。 3.9.6 更好的装饰器语法 Python 3.9引入了一种新的装饰器语法它可以在装饰器和函数之间省略括号。下面是一个示例 my_decorator def my_function():print(Hello, world!)在上面的代码中我们使用新的装饰器语法将my_decorator装饰器应用于my_function函数而不需要使用括号。 3.9.7 更好的可迭代协议 Python 3.9引入了一些新的可迭代协议包括__len__()方法和__getitem__()方法。下面是一个示例 class MyList:def __init__(self, items):self.items itemsdef __len__(self):return len(self.items)def __getitem__(self, index):return self.items[index]my_list MyList([1, 2, 3]) for item in my_list:print(item)在上面的代码中我们定义了一个名为MyList的类并实现了__len__()方法和__getitem__()方法。这使得我们可以像使用标准列表一样使用my_list对象进行迭代。 3.9.8 更好的异步编程支持 Python 3.9引入了一些新的异步编程支持包括新的async with语法和新的异步上下文管理器。下面是一个示例 class AsyncContextManager:async def __aenter__(self):print(entering context)async def __aexit__(self, exc_type, exc, tb):print(exiting context)async def my_coroutine():async with AsyncContextManager():print(inside context)asyncio.run(my_coroutine())在上面的代码中我们定义了一个名为AsyncContextManager的异步上下文管理器并使用新的async with语法将其应用于my_coroutine异步函数。这允许我们在异步代码中使用上下文管理器。 3.9.9 更好的模块解析 # my_package/__init__.py from .my_module import my_function# my_package/my_module.py def my_function():print(Hello, world!)# main.py from my_package import my_functionmy_function()在上面的代码中我们定义了一个名为my_package的包并从my_module模块中导入了my_function函数。我们可以在main.py模块中使用my_function函数而不需要知道它来自哪个模块。 3.9.10 更好的注解支持 Python 3.9引入了一些新的注解支持包括新的typing.Annotated类和新的typing.get_origin()函数。下面是一个示例 from typing import Annotatedx: Annotated[int, positive] y: Annotated[int, negative]print(x.__metadata__) # (positive,) print(y.__metadata__) # (negative,)import typingif typing.get_origin(Annotated[int, positive]) int:print(Annotated[int, positive] is a subclass of int)在上面的代码中我们使用Annotated类为变量x和y添加了元数据并使用typing.get_origin()函数检查Annotated[int, ‘positive’]是否是int的子类。这使得我们可以更好地描述和处理类型信息。 3.9.11 标准多项集中的类型标注泛型 在类型标注中现在你可以使用内置多项集类型例如 list 和 dict 作为通用类型而不必从 typing 导入对应的大写形式类型名 (例如 List 和 Dict)。 标准库中的其他一些类型现在同样也是通用的例如 queue.Queue。示例: def greet_all(names: list[str]) - None:for name in names:print(Hello, name)3.9.12 _import_()特性修改 import() 现在会引发 ImportError 而不是 ValueError。 至于原因在Python的官方文档中有相应的解释后者曾经会在相对导入超出其最高层级包时发生。 3.9.13 新增的模块 在新增模块方面zoneinfo模块为标准库引入了IANA 时区数据库。 这是一个基于系统时区数据的实体 datetime.tzinfo 实现 3.9.14 改进的模块 除了新增的模块外Python3.9还对原有的一些模块进行了改进。 Prasoon举出了他认为比较重要的一项——Random。 名为random.Random.randbytes的方法可以用于生成随机字节串 此外还有cancel_futures。 Python3.9将新的 cancel_futures 形参添加到 concurrent.futures.Executor.shutdown()可以取消尚未开始运行的所有挂起的 Future而不必等待它们完成运行再关闭执行器。 3.10 3.10.1 新的 Union Type表达 新版本简化了 Union Type 的使用 改为更为简洁的| # 旧版 from typing import Uniona: Union[int, str] 1 # 新版 a: str | int 1 # 二者完全等价 Union[int, str] int | str # True # 该特性也可用于 isinstance和issubclass# True isinstance(FunnySaltyFish, int|str) # True issubclass(str, str|int)3.10.2 zip 可选严格模式 zip新增可选参数strict 当该选项为True时传入zip的两个可迭代项长度必须相等否则将抛出 ValueError旧版及不加此参数当二者长度不等时以长度较小的为准 # 旧版及不加此参数当二者长度不等时以长度较小的为准 names [a,b,c,d] numbers [1,2,3] z zip(names,numbers) for each in z:print(each) # (a, 1)# (b, 2)# (c, 3)设置strict为True # ... z zip(names,numbers,strictTrue) # ...d:\projects\python\learn\Py310探索.py in module3 numbers [1,2,3]4 z zip(names,numbers,strictTrue) ---- 5 for each in z:6 print(each)ValueError: zip() argument 2 is shorter than argument 1 3.10.3 带括号的上下文管理器 with可以加括号了 with (CtxManager() as example):...with (CtxManager1(),CtxManager2() ):...with (CtxManager1() as example,CtxManager2()):...with (CtxManager1(),CtxManager2() as example):...with (CtxManager1() as example1,CtxManager2() as example2 ):...如 import pathlib p pathlib.Path() p1 p/text1.txt # 内容文本1的内容 p2 p/text2.txt # 内容文本2的内容 with(p1.open(encodingutf-8) as f1,p2.open(encodingutf-8) as f2 ):print(f1.read(), f2.read(), sep\n) # 文本1的内容# 文本2的内容 3.10.4 显式类型别名 使用 TypeAlias 显式标注类型别名提高可读性 旧的方式 x int def plus_int(a:x,b:x) - x:return ab可以看到x很容易被搞混新的方式使用 TypeAlias表明这是个别名 from typing import TypeAlias x : TypeAlias int def plus_int(a:x,b:x) - x:return ab 3.10.5 结构化模式匹配 Python 3.10 引入了结构化模式匹配允许您匹配列表、元组和字典等数据结构中的模式。这可以使代码更简洁易读。例如 # 匹配模式 def process_data(data):match data:case []:print(没有数据)case [x]:print(f一个项目{x})case [x, y]:print(f两个项目{x}{y})case _:print(超过两个项目)subject这在处理命令行参数的时候特别有用 copyright : [FunnySaltyFish](https://funnysaltyfish.github.io)date : 2021/10/05 21:08:42command save 1.txt # 试着把command改成 list / copy 1.txt 2.txt 看看效果 match command.split( ):case [list]:print(列出文件~)case [save, file_name]:print(f保存文件到 {file_name})case [copy,source,target]:print(f拷贝 {source} - {target}) 也可以匹配对象 class Person():passclass Student(Person):def __init__(self, id: int) - None:self.id idclass Teacher(Person):def __init__(self, name: str) - None:self.name namea Student(1) # a Student(2) # a Teacher(FunnySaltyFish) match a:case Student(id 2):print(f这是位学生且id正好是2)case Student():print(f这是学生id为{a.id})case Teacher():print(f这是老师, 姓名为{a.name}) 当然也可以匹配字典 d {name : 李四, # 张三age : 18,hobby : 阅读 } match d:case {name:张三, **args}:# **收集其他参数print(这是张三, args) # 这是张三 {age: 18, hobby: 阅读}case {name : name , age : age, hobby: hobby}:print(f我叫{name}, 今年{age}岁, 喜欢{hobby}) #我叫李四,今年18岁喜欢阅读 约束项 match point:case Point(x, y) if x y:print(fThe point is located on the diagonal YX at {x}.)case Point(x, y):print(fPoint is not on the diagonal.) 其他关键特性 类似于解包赋值元组和列表模式具有完全相同的含义而且实际上能匹配任意序列。 从技术上说目标必须为一个序列。 因而一个重要的例外是模式不能匹配迭代器。 而且为了避免一个常见的错误序列模式不能匹配字符串。映射模式: {“bandwidth”: b, “latency”: l} 会从一个字典中捕获 “bandwidth” 和 “latency” 值。 与序列模式不同额外的键会被忽略。 也支持通配符 **rest。 但 **_ 是冗余的因而不被允许。子模式可使用 as 关键字来捕获: case (Point(x1, y1), Point(x2, y2) as p2): ...与枚举一起使用命名常量必须为带点号的名称以防止常量被解读为捕获变量: from enum import Enumclass Color(Enum):RED 0GREEN 1BLUE 2match color:case Color.RED:print(I see red!)case Color.GREEN:print(Grass is green)case Color.BLUE:print(Im feeling the blues :() 3.10.6 更友好的报错提示 现在当你的括号、引号未闭合时python会抛出更加清晰明了的错误 str 未闭合的strFile d:\projects\python\learn\Py310探索.py, line 90str 未闭合的str^ SyntaxError: unterminated string literal (detected at line 90)arr [1, 2, 2, 3File d:\projects\python\learn\Py310探索.py, line 91arr [1, 2, 2, 3^ SyntaxError: [ was never closed 3.10.7 distutils 被弃用 distutils 被弃用 参考 Python 3.8.0 正式发布一大波新特性和优化来袭 Python 3.8 - 3.11 版本新特性总结和示例

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/921358.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手机网站做桌面快捷方式深圳华强北电子市场

使用 Apache Spark 进行大数据分析 环境准备 为了能够在本地环境中运行Spark程序,需要先完成环境搭建。确保已经安装了Jupyter Notebook和Apache Spark,并完成了两者之间的集成。 创建 SparkSession 在 Python 中使用 PySpark 时,通常会创…

东莞建设网站公司简介个人内网网站建设

一、VMware设置共享文件夹 (1)虚拟机关机情况下,创建一个共享文件夹 (2)ubuntu中挂载共享文件夹 1、如果之前已经挂载 hgfs,先取消挂载 sudo umount /mnt/hgfs2、重新使用以下命令挂载 sudo /usr/bin/vmh…

岳阳企业网站定制开发网站优化哪个公司好

package IODemo;/*** author Alina* date 2021年11月15日 11:48 下午* 设计思想:设计模式,装饰模式* JAVA中有23种设计思想,全部基于面向对象* 装饰设计模式,核心思想,解决什么问题* 增强原有对象的功能**/ //第一…

做淘宝图片的网站seo快速优化文章排名

文章目录1. 题目2. 解题1. 题目 给你一个整数 n ,请你找到满足下面条件的一个序列: 整数 1 在序列中只出现一次。2 到 n 之间每个整数都恰好出现两次。对于每个 2 到 n 之间的整数 i ,两个 i 之间出现的距离恰好为 i 。 序列里面两个数 a[…

html5大气网站建设个人网页登陆网站

前言:都是脚本文件中的 shebang(也称为 hashbang)行,用于指定脚本文件的解释器 解释: #!/bin/sh:这行告诉操作系统使用 /bin/sh 这个解释器来执行脚本。/bin/sh 是一个标准的 Unix Shell,通常是…

高质量的集团网站建设php做视频直播网站

开发环境:mplab 3.45 harmony 1.09 xc32 1.42 源代码下载:http://download.csdn.net/detail/zn2857/9712711 源代码分析:

深圳自助建站网站做雕塑网站

一、前言 MMCM和PLL是在FPGA设计中不可避免需要使用到的时钟资源,对于其功能及使用方法的理解是正确进行FPGA设计的前提。 二、Xilinx 时钟 IP配置 vivado中使用时钟向导(Clocking Wizard)配置时钟IP核,其框图如下: clk_in 输入时钟&#…

建设银行网站重置密码外国人做的汉子网站

一、概念 依赖注入(Dependency Injection,DI)。 测试pojo类 : Address.java 依赖 : 指Bean对象的创建依赖于容器 . Bean对象的依赖资源 . 注入 : 指Bean对象所依赖的资源 , 由容器来设置和装配 . 二、 注入方式 2.1构造器注入 我们在之前的案例已经…

课上及课下问题汇总

课上及课下问题汇总课堂及课下问题 姓名:裴文昊 学号:20244030 1在线投稿系统 问题:定义ManuscriptInformation类 完成在线投稿系统的基本功能,定义ManuscriptManagement类 1利用数组实现至少存储五个稿件记录入库…

手机网站 扁平化趋势百度怎么注册店面地址

这里我就偷点懒,直接复制粘贴文档了。可能会有一些图片无法显示 ,可以直接管我索要文档。 每一个被切换的程序实体就是“任务”。每一个任务都有其自己的上下文——所谓上下文就是指任务在每一次被核心调度时所需要的CPU环境、系统资源。在上下文的切换…

php网站访问量代码百度下载免费安装到桌面

5月9日,阿里云正式发布通义千问2.5,阿里云表示,该模型性能全面赶超GPT-4 Turbo。#阿里云宣布全面赶超GPT4# 据介绍,相比通义千问2.1版本,通义千问2.5的理解能力、逻辑推理、指令遵循、代码能力分别提升9%、16%、19%、…

做的网站怎么发网上电商网站界面规范

在Vue中封装组件时,遵循低耦合、高内聚、可扩展性和可维护性的原则非常重要。以下是一些实现这些原则的关键点,并结合Vue的实践方式给出案例说明: 1. 单一职责原则: 每个组件专注于一个特定的功能或UI部分,例如&#…

云趣在线企业网站建设wordpress主开发

Prop大小写 Prop的命名规则有camelCase,驼峰命名和kebab-case,短横线分隔。 由于HTML对大小写不敏感,所以浏览器会把大写字母解释为小写字母。 当我们使用camelCase命名prop时,在Dom中的template模板使用该prop就需要换成对应的…

上高做网站公司深圳做网站排名

Linux的远程需要用的软件有Xshell,Xftp 本人使用VMware12Pro虚拟机,Linux系统为CentOS7,使用局域网进行远程连接 Xshell和Xftp没有安装的话可以取官网下载,但Xshell需要验证信息,所以也可以去360电脑软件下载 在VMw…

美容美发网站模板服装定制设计公司

题目 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案 提示:假设 n5,k3 就是需要组合出来,长度3且内容数据是在[1,n]这个区间内的所有可能得组合 同时一个组合里面内个数字只能出现一次&#…

做家装家居网站家庭带宽100m做网站

目录 训练保姆级教程: instant ngp安装参考: 编译步骤1 编译步骤2 我把编译成功的库分享到百度网盘了 训练保姆级教程: 英伟达NeRF项目Instant-ngp在Windows下的部署,以及数据集的制作(适合小白的保姆级教学)_colmap2nerf.p…

聊城手机网站建设多少钱曲阜网站建设哪家便宜

一、 Android的内存机制 Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似。程序员通过new为对象分配内存,所有对象在java堆内分配空间;然而对象的释放是由垃圾回收器来完成的。C/C中的内存机制是“谁污染…

【SimpleFOC】区分BLDC霍尔安装间隔60还是120

02 霍尔安装角度辨别当我们拿到一个新的三相直流无刷电机时,可以通过测量三个霍尔信号,然后分析它们之间的关系即可知道霍尔的安装角度间隔是60度电角度还是120度电角度。那么,60度电角度跟120度电角度在三路霍尔波…

如何经营一个购物网站网站流量所需的成本.

前言 本节内容会着重介绍jenkins持续集成开发工具的一些常用插件安装以及全局工具的配置安装,并说明其主要作用。在开始插件和工具安装之前,我们要保证可以正常访问网络,并且使用国内的插件更新地址,便于插件的正常安装。官方的地…

4 个支持在线编辑的PPT模板网站,不用下载软件!

​ 4 个支持在线编辑的 PPT 模板网站,不用下载软件 加班到晚上 8 点,领导突然让你明天一早交一份项目汇报 PPT,电脑里没装 PPT 软件,下载安装又要花半个多小时?别慌,这 4 个支持在线编辑的 PPT 模板网站,能帮你…