Python3.6/3.7/3.8新特性

参考源:python官网,知乎,刘江的博客

1.Python的分支

分支状态初版停止时间
3.9错误修正2020-10-05待定
3.8错误修正2019-10-142024-10
3.7安全2018-06-272023-06-27
3.6安全2016-12-232021-12-23
3.5安全2015-09-132020-09-13

2.Python3.6的新特性

1. 新的格式化字符串方式

name = "Tom"
print(f"I'm {name}")

相当于:

print("I'm {name}".format(name="Tom"))

另外还可以嵌套字段:

import decimal
width = 10
precision = 4
value = decimal.Decimal("11.2324213")
print(f"result:{value:{width}.{precision}f}")

2. 变量声明语法

可以像下面一样声明一个变量并指定类型:

from typing import List, Dict

primes: List[int] = []
captain: str  # 此时没有初始值

class Starship:
  stats: Dict[str, int] = {}

3. 数字的下划线写法

允许在数字中使用下划线,提高多位数字的可读性.

a = 1_000_000_000_000_000    # 1000000000000000
b = 0x_FF_FF_FF_FF       # 4294967295

3. Python3.7新特性

1. 新增内置函数breakpoint()

def guess(target):
    user_guess = input("请输入你猜的数 >>> ")
    breakpoint()   //加入这一行
    if user_guess == target:
        return "你猜对了!"
    else:
        return "猜错了"


if __name__ == '__main__':
    print(guess(100))

当我们输入100的时候,打印的结果也是’猜错了’,并且没有任何异常或错误信息.
我们可以插入一个端点,来调试一下.以往一般通过print或者IDE的调试工具,现在我们也可以使用breakpoint().
在这里插入图片描述
在pdb提示符下,我们可以调用locals()来查看当前的本地作用域的所有变量.(pdb有大量的命令,你也可以在其中运行正常的Python语句)

2. 类型和注解

3. 新增dataclasses模块

4. Python3.8新特性

1. 海象赋值表达式

2. 仅限位置形参

3. f字符串支持=

4. typing模块的改进

5. 多进程共享内存

6. 新版本的pickle协议

7. 性能改进

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值