安装 python 3.8 环境 , 在此刻 似乎 anaconda 都还不支持 3.8 ,所以直接下载源码进行编译安装

环境: centos7.5

版本:python3.8

1、依赖包安装

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel

2、下载包:

https://www.python.org/ftp/python/3.8.0/

wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0a1.tgz

3、解压:

tar -zxvf Python-3.8.0.tgz

4、安装:

cd Python-3.8.0

./configure --prefix=/usr/local/python3

make && make install

5、建立软连接

ln -s /usr/local/python3/bin/python3.8 /usr/bin/python3

ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip3

6、测试一下python3是否可以用

python3

pip3

赋值表达式

# 一个用法在 列表推导式

f = lambda x:x*2

[y for i in range(10) if(y:=f(i))]

# 另一个在 循环中间变量赋值

>>> with open('py38_test.txt','r') as fr:

... while (line:=fr.readline()) != 'efg':

... print(line)

...

abc

位置参数

f-string 用来 字符串调试输出

>>> x=2

>>> print(f'{x**3}')

审计钩子

PEP 578: Python Runtime Audit Hooks

现在可以给 Python 运行时添加审计钩子:

In : import sys

...: import urllib.request

...:

...:

...: def audit_hook(event, args):

...: if event in ['urllib.Request']:

...: print(f'Network {event=} {args=}')

...:

...: sys.addaudithook(audit_hook)

In : urllib.request.urlopen('https://httpbin.org/get?a=1')

Network event='urllib.Request' args=('https://httpbin.org/get?a=1', None, {}, 'GET')

Out:

目前支持审计的事件名字和 API 可以看 PEP 文档 (延伸阅读链接 2), urllib.Request 是其中之一。另外还可以自定义事件:

In : def audit_hook(event, args):

...: if event in ['make_request']:

...: print(f'Network {event=} {args=}')

...:

In : sys.addaudithook(audit_hook)

In : sys.audit('make_request', 'https://baidu.com')

Network event='make_request' args=('https://baidu.com',)

In : sys.audit('make_request', 'https://douban.com')

Network event='make_request' args=('https://douban.com',)

Multiprocessing shared memory

进程间共享内存

在Python 3.8中,multiprocessing模块提供了SharedMemory类,可以在不同的Python进城之间创建共享的内存区域。

typing 增强

Python是动态类型语言,但可以通过typing模块添加类型提示,以便第三方 工具 验证Python代码。Python 3.8给typing添加了一些新元素,因此它能够支持更健壮的检查:

改写的 fib 数列

# 原始的 fib 数列

(lambda f: f(f, int(input('Input: ')), 1, 0, 1))(lambda f, t, i, a, b: print(f'fib({i}) = {b}') or t == i or f(f, t, i + 1, b, a + b))

continue 可以出现在 finally 里了

while randint(0,1):

try:

1/0

except:

print('divided...error')

finally:

print('finally...')

continue

python3.8新特性 逻辑表达式_python 3.8 新特性相关推荐

  1. python3.8怎么打开创建_Python 3.8 新功能大揭秘【新手必学】

    最新版本的Python发布了!今年夏天,Python 3.8发布beta版本,在2019年10月14日,第一个正式版本已准备就绪.现在,我们都可以开始使用新功能并从最新改进中受益. Python 3. ...

  2. python特性编译语言_Python的动态语言特性; __slots__属性

    python是动态语言 1. 动态语言的定义 动态编程语言 是 高级程序设计语言 的一个类别,在计算机科学领域已被广泛应用.它是一类 在运行时可以改变其结构的语言 :例如新的函数.对象.甚至代码可以被 ...

  3. python3.9特性_Python3.9的7个特性

    作者|PADHMA 编译|VK 来源|Analytics Vidhya 介绍 正如著名作家韦恩•W•戴尔所说, 改变你看待事物的方式 你所看待的事物也会改变 当Python的新版本问世时,许多人担心向 ...

  4. [转]C# 2.0新特性与C# 3.5新特性

    C# 2.0新特性与C# 3.5新特性 一.C# 2.0 新特性: 1.泛型List<MyObject> obj_list=new List(); obj_list.Add(new MyO ...

  5. SQL Server 2016新特性:列存储索引新特性

    SQL Server 2016新特性:列存储索引新特性 行存储表可以有一个可更新的列存储索引,之前非聚集的列存储索引是只读的. 非聚集的列存储索引支持筛选条件. 在内存优化表中可以有一个列存储索引,可 ...

  6. c语言 字符串 正序再倒序_新特性解读 | MySQL 8.0 索引特性3 -倒序索引

    原创作者:杨涛涛 我们今天来介绍下 MySQL 8.0 引入的新特性:倒序索引. MySQL长期以来对索引的建立只允许正向asc存储,就算建立了desc,也是忽略掉. 比如对于以下的查询,无法发挥索引 ...

  7. Git协助方式:Fork项目开发新功能并使用Pull-Request把新特性推送给原项目

    Git协助方式:Fork项目开发新功能并使用Pull-Request把新特性推送给原项目 Pull Request 是开发者使用 GitHub 进行协作的利器.这个功能为用户提供了友好的页面,让提议的 ...

  8. Kinect SDK v1.7 新特性、交互框架与新概念

    Kinect SDK v1.7 新特性.交互框架与新概念 zouxy09@qq.com http://blog.csdn.net/zouxy09 2013年3月18日,微软Kinect for Win ...

  9. Oracle 21C 新特性:数据泵相关新特性汇总

    墨墨导读:本文来自墨天轮用户"JiekeXu"投稿,墨天轮主页:https://www.modb.pro/u/434,本文分享Oracle 21c 新特性:数据泵相关新特性汇总. ...

最新文章

  1. 一篇文章7.4万,Nature 33种期刊开放获取新政引争议,社区斥其「寄生虫」
  2. Python指南--深入流程控制
  3. MyBatis中传递数组参数和List参数时if-test判空和判断长度的写法
  4. Eclipse中导入Maven项目后没有run on server
  5. OpenCASCADE绘制测试线束:布尔运算命令之构建操作结果
  6. ASP.NET Core 动作结果 - ASP.NET Core 基础教程 - 简单教程,简单编程
  7. Android 中的接口回调
  8. Win32Asm学习笔记[不断更新]
  9. 2021-08-24梦笔记
  10. 网速测试软件win10,win10系统测试网速的操作方法
  11. 分享一个用turtle画的网易云logo
  12. 纪念我那悲苦的黑色草莓米糕
  13. 第七章 文本数据-学习笔记+练习题
  14. 基于ESP32的智能鱼缸系统
  15. 蓝桥杯题解 鲁卡斯队列 Java答案
  16. 【python】 turtle实现汉诺塔游戏动画过程
  17. word 文档如何加密
  18. 明朝那些事儿--徐霞客(成功只有一个——按照自己的方式,去度过人生)
  19. [蓝桥杯]蓝肽子序列(c++详解)
  20. 手机app视频平台开发怎么做

热门文章

  1. 【MCtalk活动推荐】娱乐社交APP的AI探索、架构与性能优化实践
  2. C#借助API实现黑盒自动化测试工具的编写
  3. Spring框架中的9种设计模式汇总
  4. 设计模式初探之设计模式六大原则(4):接口隔离原则
  5. 浅谈python的深浅拷贝
  6. 也说说TIME_WAIT状态
  7. 实现接口时@Override注解问题
  8. fdisk 磁盘分区命令
  9. 沫沫金:联想E431 1K6安装Windows系统100%成功技巧
  10. 关掉linux下的讨厌的beep声