范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

重磅来袭!Python3。10正式版发布了!我还在用3。6

  来源:juejin.cn/post/7015590447745613854
  Python 3.10正式发布,你尝鲜了吗?
  本文参考自 Python官方文档 :Python Release Python 3.10.0 | Python.org[1]
  在正值国庆假期人山人海的2021年10月4号,Python官方正式发布了Python3.10.0[2]。作为一只假期期间宅着不动的coding人,自然是第一时间体验了一波。相较于之前的版本,该版本有以下主要变更。
  新的 Union Type表达
  新版本简化了 Union Type 的使用 ,改为更为简洁的|
  旧版:from typing import Union
  a: Union[int, str] = 1
  新的版本:a: str | int = 1
  二者完全等价:Union[int, str] == int | str # True
  这类变化在其他地方也相似:# 旧版:
  # def f(list: List[Union[int, str]], param: Optional[int]) -> Union[float, str]
  def f(list: List[int | str], param: int | None) -> float | str:
  pass
  f([1, "abc"], None)
  # 旧版:
  # typing.List[typing.Union[str, int]]
  typing.List[str | int]
  list[str | int]
  # 旧版:
  # typing.Dict[str, typing.Union[int, float]]
  typing.Dict[str, int | float]
  dict[str, int | float]
  该特性也可用于 isinstance和issubclass# True
  isinstance("FunnySaltyFish", int|str)
  # True
  issubclass(str, str|int)
  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,strict=True)
  # ...
  d:projectspythonlearnPy310探索.py in 
  3 numbers = [1,2,3]
  4 z = zip(names,numbers,strict=True)
  ----> 5 for each in z:
  6 print(each)
  ValueError: zip argument 2 is shorter than argument 1
  带括号的上下文管理器
  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(encoding="utf-8") as f1,
  p2.open(encoding="utf-8") as f2
  ):
  print(f1.read, f2.read, sep=" ")
  # 文本1的内容
  # 文本2的内容
  显式类型别名
  使用 TypeAlias 显式标注类型别名,提高可读性
  旧的方式:x = int
  def plus_int(a:x,b:x) -> x:
  return a+b
  可以看到,x很容易被搞混
  新的方式:使用 TypeAlias表明这是个别名from typing import TypeAlias
  x : TypeAlias = int
  def plus_int(a:x,b:x) -> x:
  return a+b
  match...case语句
  对,就是其他语言的switch-case,python终于提供了支持,还是加强版的
  完整语法参见:PEP 634 -- Structural Pattern Matching: Specification | Python.org[3]
  举几个例子:
  基本的类型匹配:day = 6
  match day:
  case 1:
  print("星期一")
  case 6 | 7:
  print("周末")
  case _ :
  print("其他情况")
  subject:这在处理命令行参数的时候特别有用"""
  @copyright : [FunnySaltyFish](https://funnysaltyfish.github.io)
  @date : 2021/10/05 21:08:42
  """
  command = "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:
  pass
  class Student(Person):
  def __init__(self, id: int) -> None:
  self.id = id
  class Teacher(Person):
  def __init__(self, name: str) -> None:
  self.name = name
  a = 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岁,喜欢阅读
  更复杂的还有结合Guard、匹配捕获等使用,具体可以参见:PEP 635 -- Structural Pattern Matching: Motivation and Rationale | Python.org[4]和 PEP 636 -- Structural Pattern Matching: Tutorial | Python.org[5]
  更友好的报错提示
  现在,当你的括号、引号未闭合时,python会抛出更加清晰明了的错误str = "未闭合的str
  File "d:projectspythonlearnPy310探索.py", line 90
  str = "未闭合的str
  ^
  SyntaxError: unterminated string literal (detected at line 90)
  arr = [1, 2, 2, 3
  File "d:projectspythonlearnPy310探索.py", line 91
  arr = [1, 2, 2, 3
  ^
  SyntaxError: "[" was never closed
  其他一些更新:distutils 被弃用
  推荐使用 setuptools
  需要 OpenSSL 1.1.1 及以上版本移除 Py_UNICODE编码APIPyUnicodeObject的wstr被弃用,并将在之后移除
  完。摸鱼去了。
  参考资料
  [1]
  https://www.python.org/downloads/release/python-3100/: https://link.juejin.cn?target=https%3A%2F%2Fwww.python.org%2Fdownloads%2Frelease%2Fpython-3100%2F
  [2]
  https://www.python.org/downloads/release/python-3100/: https://link.juejin.cn?target=https%3A%2F%2Fwww.python.org%2Fdownloads%2Frelease%2Fpython-3100%2F
  [3]
  https://www.python.org/dev/peps/pep-0634/#id25: https://link.juejin.cn?target=https%3A%2F%2Fwww.python.org%2Fdev%2Fpeps%2Fpep-0634%2F%23id25
  [4]
  https://www.python.org/dev/peps/pep-0635/#id15: https://link.juejin.cn?target=https%3A%2F%2Fwww.python.org%2Fdev%2Fpeps%2Fpep-0635%2F%23id15
  [5]
  https://www.python.org/dev/peps/pep-0636/: https://link.juejin.cn?target=https%3A%2F%2Fwww.python.org%2Fdev%2Fpeps%2Fpep-0636%2F

Pixel6Pro感人配置遭曝料,Pixel5命运悲惨跌至感人价有消息称,Pixel6Pro配备120Hz显示器,该手机配备12G内存,配备潜在变焦摄像头,支持电池共享,也就是反向无线充电,屏幕分辨率为3120x1440,UWBwell1200全运会山东第一有人不服全运会金牌榜明明是山东第一,但偏偏看到很多文章说是广东第一,不知道他们是怎么算的,即使按照奥运会时期美国的算法也是山东第一啊!感觉和他们无法讲道理,你给他看金牌榜,他给你讲历史,你iPhone13震撼来袭,iPhone12价比百元机,果粉服气9月15日凌晨1点,苹果正式发布iPhone13系列新产品,售价5199元。四款新iPhone都继承了直角中框设计,刘海区域缩小了20。iPhone13mini和iPhone13的AppleWatch7重磅发布,Watch6跌至感人价创历史9月15日凌晨,苹果举行秋季新产品发布会,带来了iPhone13系列新型iPad和iPadmini。此外,苹果还发布了新的AppleWatchSeries7,在屏幕充电耐久性等方面易图通与北汽新能源达成合作,未来有望实现高阶自动驾驶近日,易图通科技(北京)有限公司(以下简称易图通)与北京新能源汽车股份有限公司(以下简称北汽新能源)达成合作,双方将就L3L4级自动驾驶相关项目进行深入研发,共同推动自动驾驶相关应数字孪生技术,让酷炫的智慧城市不再遥不可及人们与智慧城市的距离还可以再缩短一些,得益于数字孪生技术,使得人们可以先在虚拟映射中完成规划。智慧城市对于不同的人,不同的角色所处不同立场都会有不同的定义。在普通人眼中上班不拥堵,高精地图现状分析与实现方案研究摘要随着自动驾驶技术研究的逐渐深入和智能汽车精细化监管需求的不断增长,高精地图的重要性逐渐凸显。高精地图是近几年兴起的产物,国内外有关高精地图数据采集生产可视化表达等诸多研究取得了国标自动驾驶分级标准正式出炉2020年或为L3级自动驾驶元年我国正式拥有自己的自动驾驶汽车分级标准!3月9日,工信部正式发布汽车驾驶自动化分级推荐性国家标准报批公示,而正式标准拟于2021年1月1日开始全国实施。该标准明确了我国汽车驾驶自动从安全的角度看自动驾驶站在2020年年尾回看智能驾驶,这一年黑科技层出不穷,无疑是一片琳琅满目的壮观景象超大的显示屏娱乐功能强大智能座舱高度数字化OTA远程升级几乎是新车型标配ADAS辅助驾驶功能也越来揭秘矢量地图的前世今生这是一期矢量地图成长故事自传。凭谁问廉颇老矣,尚能饭否?用来形容今天的主人公也许是最为贴切不过了。第一章高贵的矢量地图前世我的前世是手绘纸质地图,下文就统称地图啦,所以不要再问我到王志勤车联网支持实现无人驾驶的思考无人驾驶是车辆作为运载工具智能化网联化发展的核心应用功能,也是车联网智慧交通产业发展的核心应用服务。网联无人驾驶则是在车辆智能化基础上,通过车联网实现车与车车与路等的互联和信息交互
快递按下暂停键后自从山西清徐韵达快递园发现员工集体大面积感染后,政府紧急叫停了所有快递业务,并对各地从事快递业务的各个链条成员做了核酸检测,有的居家隔离,有的集体隔离,现在的快递业务可谓是风雨飘摇北京抢菜与上海不同?快递放狠话给谁听?近日网上北京抢菜沸沸扬扬,其实作为首都,物资供应结局有悬念吗?网传京东的CEO网上放狠话?禁不住好奇是讲给上海听吗?一抢购北京出现多例奥密克戎病例,有上海的教训在,大家都开始了抢菜又一个特斯拉Model3竞争对手,华为技术加持,哪吒S能脱颖而出吗新车迷原创很多新能源车把特斯拉Model3拿来当竞争对手,这无可厚非,毕竟特斯拉Model3在销量上是非常成功的,不管是国内还是国外的媒体,经常拿它来对比。就像我们谈到7座中型SU售价568元!苹果上架智能保温杯,自带RGB灯提醒喝水一直以来,苹果的产品价格就十分昂贵,之前一块布苹果就卖到了离谱的145元,而在最近,苹果商店上架了一款HidrateSparkSTEEL智能保温杯,虽然不是苹果生产的,但不出意料这新品上市TK二代小马座系列单目手持红外望远镜,六款型号齐发即刻,清晰TK二代小马座系列颠覆,为高清体验而来新一代自研红外探测器PureIR自适应动态滤波算法强强联合,400x300640x480两种分辨率红外探测器可选,搭配智能3D降噪和苹果官网上架HidrateSparkSTEEL智能保温杯,售价568元IT之家4月26日消息,苹果官网今日上架了一款售价568元的HidrateSparkSTEEL智能水瓶,已正式开售。这款HidrateSparkSTEEL智能水瓶拥有银色黑色两款配国产芯片日产10亿颗,张忠谋发话反对我国自主研发,你怎么看?引言众所周知,芯片技术是一项非常重要的高新技术,芯片的运用范围十分广泛,这种高端技术也被美国为首的发达国家垄断。我国的芯片技术还不成熟,是我们技术领域的短板。所以美国也经常抓住我们iPhone6s即将停更,iPhoneSE3或为最强接替者,依旧可战七年如果说苹果最经典的机型都有哪些?iPhone6s肯定首当其冲。这部手机在2015年发布,至今已经7年时间,还可以更新到最新的iOS15。5PublicBeta2,而且用户规模依旧很火力全开!比亚迪海洋网首款中型车,特斯拉Model3最强敌手车矩阵车评用如日中天来形容当下的比亚迪最为合适不过,继3月官宣停产燃油车以来,混动以及纯电车型的火爆热销结结实实地给一些裹足不前的传统车企上了一课,产品矩阵越来越丰富,渠道更是扩张华为MateXs2折叠旗舰再预热更轻更平,定价或高达一万七华为MateXs2折叠旗舰及全场景新品发布会将于4月28日举行,今天官方再次对新机预热。尽管折叠手机未来市场空间持续看好,但当前依然面临一些痛点。例如折叠屏手机存在表面易刮伤折痕明中国电信与中国联通联手推出5G新通话服务中证网讯(记者杨洁)4月26日,中国联通中国电信宣布,在深圳杭州郑州天津等城市开通5G新通话超清视频语音通话服务(VoNR)。两家运营商表示,将在5月份开通100个以上主要城市,其