ubuntu安装python3.8及新特性

yizhihongxing

Ubuntu安装Python3.8及新特性

Python3.8是Python编程语言的最新版本,其中添加了很多新的特性和改进。如果你是Ubuntu用户,并且想要尝试使用Python3.8,那么本文将会教你如何在Ubuntu上安装Python3.8并了解一些新特性。

安装Python3.8

Python3.8可以通过apt-get命令进行安装。先更新源信息,再通过apt-get安装即可。

sudo apt-get update
sudo apt-get install python3.8

也可以使用PPA进行安装,这样可以保证我们能够及时地获得新的更新。

先添加PPA:

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update

再进行安装:

sudo apt-get install python3.8

安装完成后,可以通过python3.8命令来验证是否已经安装成功。

python3.8 --version

此时,终端将会输出Python3.8的版本信息,如:

Python 3.8.5

新特性

Python3.8添加了很多新的特性和改进,以下是其中一些:

Positional-only参数

Python3.8添加了一项新特性:Positional-only参数。这表示函数参数只能通过位置来传递,不能使用关键字参数。

def my_func(a, b, /, c, d, *, e, f):
    print(a, b, c, d, e, f)

my_func(1, 2, 3, 4, e=5, f=6)

在上面的例子中,/之前的参数ab只能通过位置来传递。/之后的参数cd可以通过位置或关键字来传递。*之后的参数ef只能通过关键字来传递。

f-Strings优化

Python3.6引入了f-Strings,在Python3.8中对它进行了改进优化。现在,我们可以在f-Strings中使用=来对变量进行格式化。

name = 'John'
age = 30

print(f'{name=} and {age=}')

输出结果为:

name='John' and age=30

walrus运算符

Python3.8引入了一个新的运算符:walrus运算符(又称海象运算符)。这个运算符的意义是在表达式中进行赋值操作并返回赋值后的结果。

n = 10
while (a := n - 1) >= 0:
    print(a)
    n = a

在上面的代码中,我们使用:=进行了赋值操作,并且每次循环都会打印出a的值。

其他特性

除此之外,Python3.8还添加了很多其他的特性和改进,例如:

  • 通过__getattr____dir__方法来创建动态属性
  • 对于函数的调用栈使用更好的跟踪方式
  • 使用字面量评估形式对try/except语句进行性能优化
  • functools.lru_cache中添加了新的maxsize限制

总结

本文介绍了如何在Ubuntu上安装Python3.8,并讲解了Python3.8的一些新特性和改进。通过本文,你可以尝试使用Python3.8,同时掌握一些Python3.8的新技巧,为你更好地处理问题提供帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ubuntu安装python3.8及新特性 - Python技术站

(0)
上一篇 2023年3月28日
下一篇 2023年3月28日

相关文章

  • c++语言中虚函数实现多态的原理详解

    当一个类中有虚函数时,编译器会在这个类的对象中生成一个虚函数表,表中存储着虚函数的地址。当这个类产生派生类并且派生类中也定义了虚函数时,这个派生类会继承父类的虚函数表,然后在自己的虚函数表中添加自己的虚函数或者重载父类中的虚函数,这个过程叫做动态联编。 使用虚函数可以实现多态,多态可以让不同的子类对象调用相同的虚函数,实现统一的行为表现,提高了代码的复用性和…

    other 2023年6月26日
    00
  • redis中opsForList().range()的使用方法详解

    Redis中opsForList().range()的使用方法详解 在Redis中,opsForList().range()是一个用于获取列表中指定范围内元素的方法。下面是关于opsForList().range()的详细攻略: 连接到Redis:首先,使用Redis客户端连接到Redis服务器,并获取一个RedisTemplate对象。 获取列表元素:使用…

    other 2023年10月18日
    00
  • 在Python IDLE 下调用anaconda中的库教程

    在Python IDLE下调用Anaconda中的库教程 Anaconda是一个常用的Python发行版,它包含了许多常用的科学计算库和工具。在Python IDLE中调用Anaconda中的库可以让我们在交互式环境中方便地使用这些库的功能。下面是一个详细的攻略,教你如何在Python IDLE中调用Anaconda中的库。 步骤一:启动Python IDL…

    other 2023年8月5日
    00
  • 【历史】-windowsnt之父-davidcutler

    以下是详细讲解“【历史】Windows NT之父David Cutler的完整攻略,过程中至少包含两条示例说明”的Markdown格式文本: 【历史】Windows NT之父David Cutler David Cutler是一位计算机科学家,被誉为Windows NT操作系统的创造者和主要开发者。本攻略将介绍David Cutler的生平和Windows …

    other 2023年5月10日
    00
  • javascript严格模式详解(含严格模式与非严格模式的区别)

    JavaScript严格模式详解(含严格模式与非严格模式的区别) 什么是严格模式? JavaScript严格模式(Strict Mode)是一种在JavaScript中运行代码的特殊模式。它通过限制一些不安全的语法和行为,提供更严格的错误检查,以帮助开发者编写更可靠、更规范的代码。 如何启用严格模式? 要启用严格模式,可以在脚本文件或函数的开头添加\”use…

    other 2023年8月8日
    00
  • 初步学习Java中线程的实现与生命周期

    初步学习Java中线程的实现与生命周期攻略 什么是线程? 线程是程序执行的一个单元,也是进程内的一个独立控制流。 一个进程中可以有多个线程,它们共享内存空间和一些进程级的数据,但每个线程有自己的计数器、栈空间及局部变量。 线程的使用可以提高程序的效率。 常用的线程实现方式 Java中有两种创建线程的方式:继承Thread类和实现Runnable接口。 继承T…

    other 2023年6月27日
    00
  • 什么是智能合约?

    智能合约是一种自动执行计算代码的程序,能够在不需要中介的情况下管理、验证和执行合同。智能合约通常会运行在区块链上,以保证合同的透明、可信和无需信任第三方的执行。本文将详细介绍智能合约的概念和实现要点,并包含两个完整的示例代码。 什么是智能合约 智能合约是一种自动执行的计算代码,通常在区块链上运行。它们用于管理、验证和执行合同,从而消除了在传统合同中通常需要的…

    其他 2023年4月19日
    00
  • TypeScript对于Duck类型和模块命名空间应用

    TypeScript对于Duck类型和模块命名空间应用攻略 什么是Duck类型 Duck类型是一种在TypeScript中用于描述对象形状的概念。它强调对象的结构而不是具体的类型。如果一个对象具有与特定行为相关的属性和方法,那么它可以被认为是一个Duck类型的实例。 Duck类型的应用 在TypeScript中,我们可以使用Duck类型来实现灵活的代码重用和…

    other 2023年8月6日
    00
合作推广
合作推广
分享本页
返回顶部