你应该知道的Python3.6、3.7、3.8新特性小结

下面是关于“你应该知道的Python3.6、3.7、3.8新特性小结”完整攻略的讲解。

一、Python3.6新特性

1. 格式化字符串字面值

Python3.6引入了一种新的格式化字符串字面值语法(Formatted string literals),简称f-string,使用f-string可以帮助你更方便、更简洁地格式化输出字符串。具体使用方法如下:

name = "Alice"
age = 23
print(f"My name is {name}, and I am {age} years old.")

输出结果为:

My name is Alice, and I am 23 years old.

2. 字典键保持原有顺序

在Python3.6之前,字典是无序的,即使你按照一定顺序添加键值对,输出时也不一定保留原有顺序。Python3.6开始,字典会按照添加元素的顺序进行输出,这也是Python3.6的一个重要的新特性之一。示例代码如下:

d = {'a': 1, 'c': 2, 'b': 3}
print(d)

输出结果为:

{'a': 1, 'c': 2, 'b': 3}

二、Python3.7新特性

1. 嵌套变量访问

在Python3.7之前,你需要使用format()函数来访问嵌套变量,如下所示:

person = {'name': 'Alice', 'age': 23}
template = "My name is {0[name]}, and I am {0[age]} years old.".format(person)
print(template)

输出结果为:

My name is Alice, and I am 23 years old.

Python3.7简化了这一过程,你可以直接在f-string中访问嵌套变量。示例代码如下:

person = {'name': 'Alice', 'age': 23}
template = f"My name is {person['name']}, and I am {person['age']} years old."
print(template)

输出结果为:

My name is Alice, and I am 23 years old.

2. breakpoint()函数

Python3.7引入了一个新的内置函数breakpoint(),可以帮助你更方便地调试代码。当你调用这个函数时,程序会自动在这个地方停下来,等待你进行调试。示例代码如下:

def foo():
    x = 1
    y = 2
    breakpoint()
    z = x + y
    return z

foo()

你会发现,当程序运行到breakpoint()函数时,程序会自动停下来并进入调试模式,你可以在这里进行你需要的调试工作。

三、Python3.8新特性

1. =:=的区别

在Python3.8中,引入了一个新的赋值运算符:=,也叫做海象运算符。这个运算符可以帮助你更方便地进行赋值操作。示例代码如下:

if (n := len("hello")) > 5:
    print(f"'hello' has {n} characters.")

输出结果为:

'hello' has 5 characters.

相比于直接使用=进行赋值操作,使用:=语法可以更方便地在表达式中赋值并判断。需要注意的是,:=是一个表达式,并不是一个语句,所以可以在if语句中直接使用。

2. 更好的f-string支持

在Python3.8中,f-string语法得到了进一步增强,你可以在其中使用表达式、函数、和内置对象。示例代码如下:

import datetime

name = "Alice"
age = 23
print(f"My name is {name.capitalize()}, and I am {age + 1} years old.")
print(f"Today is {datetime.datetime.now():%Y-%m-%d %H:%M:%S}")

输出结果为:

My name is Alice, and I am 24 years old.
Today is 2022-01-01 12:00:00

这个示例展示了如何在f-string中使用capitalize()函数和datetime对象进行输出。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:你应该知道的Python3.6、3.7、3.8新特性小结 - Python技术站

(2)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • 修复python-memcached在python3.8环境中报SyntaxWarning的问题(完美解决)

    当将python-memcached安装在Python3.8环境中时,会出现以下SyntaxWarning警告信息: /usr/local/lib/python3.8/site-packages/memcache.py:1533: SyntaxWarning: “is not” with a literal. Did you mean “!=“? if va…

    python 2023年5月13日
    00
  • Python中摘要算法MD5,SHA1简介及应用实例代码

    Python中摘要算法MD5,SHA1简介及应用实例代码 什么是摘要算法? 摘要算法是一种将任意长度的消息压缩到某一固定长度的算法。它将消息作为输入,然后生成一个固定长度的输出,通常称为消息摘要或哈希值。摘要算法的主要应用包括数据完整性验证、数字签名、密码学等领域。 MD5算法 MD5算法是一种广泛使用的摘要算法,它将任意长度的消息压缩到128位的哈希值。M…

    python 2023年5月14日
    00
  • Python机器学习k-近邻算法(K Nearest Neighbor)实例详解

    下面是详细讲解“Python机器学习k-近邻算法(KNearestNeighbor)实例详解”的完整攻略,包括算法原理、Python实现和两个示例说明。 算法原理 k-近邻算法是一种基于实例的学习方法,其主要思想是通过计算样本之间的距离,找到与目标样本最近的k个样本,然后根据这k个样本的类进行分类。k-近邻算法的实现过程如下: 计算目标样本与训练样本之间的距…

    python 2023年5月14日
    00
  • 使用Python+Splinter自动刷新抢12306火车票

    以下是“使用Python+Splinter自动刷新抢12306火车票”的完整攻略。 1. Splinter简介 Splinter是一个基于Selenium WebDriver的开源自动化测试框架,它允许我们用几行Python代码来控制浏览器进行自动化测试、爬取数据等工作。 2. 环境要求 Python 3 Chrome浏览器 ChromeDriver 3. …

    python 2023年5月19日
    00
  • Python随机数函数代码实例解析

    Python随机数函数代码实例解析 随机数在编程中经常使用,Python内置了多个随机数函数,本文将对常用的随机数函数进行详细的讲解,同时提供两个示例进行说明。 random模块常用函数 Python中的随机数生成依赖于random模块,以下是random模块中常用的函数: random():用于生成[0, 1)的浮点数。 randint(a, b):用于生…

    python 2023年5月14日
    00
  • pip报错“OSError: [Errno 13] Permission denied: ‘/usr/local/lib/python3.6/dist-packages/pip/_internal/utils/typing.py’”怎么处理?

    当使用pip安装Python包时,可能会遇到“OSError: [Errno 13] Permission denied: ‘/usr/local/lib/python3.6/dist-packages/pip/_internal/utils/typing.py’”错误。这个错误通常是由以下原因之一引起的: 权限不足:如果您没有足够的权限来安装Python包…

    python 2023年5月4日
    00
  • 你需要学会的8个Python列表技巧

    以下是详细讲解“你需要学会的8个Python列表技巧”的完整攻略。 在Python中,列表(list)是一种常见的数据结构。掌握一些常用的列表技巧可以提高编程效率和代码质量。下面是8个Python列表技巧。 技巧一:使用列表推导式 列表推导式是一种简洁的语法快速生成列表。例如: lst = [i for i in range(10)] print(lst) …

    python 2023年5月13日
    00
  • python使用imap-tools模块下载邮件附件的示例

    在Python中,我们可以使用imap-tools模块来下载邮件附件。本攻略将介绍如何使用imap-tools模块下载邮件附件的示例。 步骤一:安装imap-tools模块 在使用imap-tools模块之前,我们需要先安装它。我们可以使用pip命令来安装imap-tools模块: pip install imap-tools 步骤二:连接到IMAP服务器 …

    python 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部