Ubuntu安装Python3.8及新特性
Ubuntu安装Python3.8.0a4
如果你想体验一下,请用虚拟机(感受一下就行,别当真)。
新特性(整体来说,有三点特别需要注意一下)
海象运算符
# python3.7
a = '123'
if len(a):
print(1)
# python3.8
if (b := len(a)):
print(1)
整体这样理解
- 优先执行短赋值(借鉴
golang)右边的代码 - 将右边的代码执行结果赋值给左边变量
- 再执行
if判断
展示张图片

编译字节码可以单独指定存放位置
说白了可以通过设置环境变量 PYTHONPYCACHEPREFIX来指定这个生成路径,你也可以在代码中使用 sys.pycache_prefix来获取这个生成路径
最直接的作用就是分发Python代码的时候可以只分发编译字节码包,从而一定程度上提高了Python的安全性(可能)
在Python3.8之前,finally 中加 continue 语句是不合法的。

Python3.8之后这个限制被移除了。

执行结果如下

在ubuntu1804之后python3.7存在,暂不替换(不设置软连接)。
python3.8下载(支持Linux,Windows,Mac)
wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0a4.tar.xz
安装
# 先决条件(这样可以避免两个个报错)
apt-get install zlib* -y
apt-get install libffi-dev -y
# unxz Python-3.8.0a4.tar.xz
# tar -zxvf Python-3.8.0a4
# 解压Python-3.8.0a4.tar.xz包时,这里推荐手动提取,这样可以省去两条命令。如果python是在一个文件夹下,请确认非root用户拥有该文件夹的全县(递归)
chown -R [非root]:[非root] Python-3.8.0a4
./configure --prefix=/usr/local/python3 --with-ssl
如果是Centos系统,安装报错均可在网上查阅到
zipimport.ZipImportError: can't decompress data; zlib not available
...
make: *** [Makefile:1168:install] 错误 1
#权限问题,需要非root用户拥有解压好的python文件夹权限。
apt-get install libffi-dev -y
# 这条命令在解决 ModuleNotFoundError: No module named '_ctypes'无模块问题
出现以下,便是安装完成了!
...
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-19.0.3 setuptools-40.8.0
最后给大家分享一些小福利


链接:https://pan.baidu.com/s/1sMxwTn7P2lhvzvWRwBjFrQ
提取码:kt2v
链接容易被举报过期,如果失效了就在这里领取吧

Ubuntu安装Python3.8及新特性的更多相关文章
- 相比于python2.6,python3.0的新特性。
这篇文章主要介绍了相比于python2.6,python3.0的新特性.更详细的介绍请参见python3.0的文档. Common Stumbling Blocks 本段简单的列出容易使人出错的变动. ...
- [转]Ubuntu安装Python3.6
Ubuntu安装Python3.6 Ubuntu默认安装了Python2.7和3.5 输入命令python
- python-3.8.0 新特性之赋值表达式
[python-3.8.0 新特性之赋值表达式] 赋值表达式的语法是这样的“ name := expression ”,形式上看和赋值语句 “ = ” 差不多,就作用上来看也雷同.也就是说 “:=” ...
- Vmvare下Ubuntu安装Python3.4
Ubuntu14.4下默认安装的Python版本是2.7.随着Python3.4的使用,现在大部分Python开发者都喜欢使用Py3.4.那么Ubuntu下应该怎么安装Python3.4呢? (1). ...
- Python3中的新特性(3)——代码迁移与2to3
1.将代码移植到Python2.6 建议任何要将代码移植到Python3的用户首先将代码移植到Python2.6.Python2.6不仅与Python2.5向后兼容,而且支持Python3中的部分新特 ...
- ubuntu 安装python3
1.安装python3 apt-get install python3 2.安装pip3 apt-get install python3-pip 3.为python3添加包 pip3 install ...
- Ubuntu安装Python3 和卸载
Python2中文的解决 在py文件第一行添加 #coding=utf-8 1 规范的应该这么写 #-*- coding:utf-8 -*- 1 安装python 系统默认安装Python2 安装Py ...
- ubuntu安装Python3并与Python2自由切换
一.配置ssh链接安装openssh-server sudo apt-get install openssh-server 二.安装Python3及pip sudo apt-get install p ...
- ubuntu安装python3
系统本身就已经安装了python2.7 和python3.4 现在需要做的就是将默认的版本更换一下下就可以了. 检查python的版本 python -V 老的版本没必要去产出了,因为会有一些程序依赖 ...
随机推荐
- zookeeper 负载均衡
1,原理 将启动的服务注册到zookeeper 注册中心上面,采用临时节点,zookeeper 客户端从注册中心上读取服务的信息,之后再本地采用负载均衡算法(取模算法),将请求轮询到每个服务. 同时z ...
- iOS 页面流畅技巧(2)
一.屏幕显示图像的原理 首先从过去的 CRT 显示器原理说起.CRT 的电子枪按照上面方式,从上到下一行行扫描,扫描完成后显示器就呈现一帧画面,随后电子枪回到初始位置继续下一次扫描.为了把显示器的显示 ...
- iOS UIViewController的瘦身计划
代码的组织结构,以及为何要这样写. 那些场景适合使用子控制器,那些场景应该避免使用子控制器? 分离UITableView的数据源和UITableViewDataSource协议. MVVM的重点是Vi ...
- Win10远程桌面发生身份验证错误,要求的函数不受支持
昨儿个使用远程桌面,意外发的发现连不上测试环境了.身边的同事也有连不上的.一开始以为是远程机器可能出了问题,但是而后排查确认是自个儿机器问题.原因在与机器前天晚上自动升级了系统补丁,也有部分网友反映了 ...
- Java数据类型与mysql对应表
- Java序列化机制剖析
本文转载自longdick的博文<Java序列化算法透析>,原文地址:http://longdick.iteye.com Java序列化算法透析 Serialization(序列化)是一种 ...
- Java常用类__装箱/拆箱
以下是常用的各两种方法(各类提供了构造方法,静态方法) 一.基本数据类型 转化为 包装类(装箱) 例:int i=10: Integer num=i;//num=10 二.包装类 转化为 基本数据类 ...
- 马哥教育PYTHON相关基础 笔记
1 python 推荐书籍 <python Cookbook> <learn python the hard way> <google's python class> ...
- 001_manifest.json手册
manifest.json 是一个 JSON 格式的文件,是每个 WebExtension必须包含的唯一文件. 使用manifest.json,您可以指定扩展名的基本元数据,如名称和版本,还可以指定扩 ...
- 1064 Complete Binary Search Tree (30分)(已知中序输出层序遍历)
A Binary Search Tree (BST) is recursively defined as a binary tree which has the following propertie ...