你应该知道的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常用列表数据结构小结

    下面是关于Python常用列表数据结构的详细攻略,包含两个示例说明。 列表的定义 在Python中,列表是一种有序的数据集合,可以包含任意类型的数据,包括数字、字符串、布尔值、列表、元组、字典等。列表使用方括号[]来定义,其中每个元素之间用逗号,分隔。 下面是一个示例,演示如何定义一个列表: # 定义一个列表 my_list = [1, 2, 3, ‘hel…

    python 2023年5月13日
    00
  • Python源码解析之List

    Python中的列表(List)是一种常用的数据类型,可以存储多个元素。本文将详细讲解Python中列表的源码实现,包括列表的内部结构、列表的创建、添加元素、删除元素、修改、切片操作等,并提供两个实例说明。 列表的内部结构 Python中的列表是一种动态数组,它的内部结构由以下三个部分组成: 指向列表元素的指针数组 列表长度 列表的容量 指向列表元素的指针数…

    python 2023年5月13日
    00
  • Python实现的字典排序操作示例【按键名key与键值value排序】

    Python实现的字典排序操作示例 字典是Python的一种重要的数据结构,可以用来存储键值对。字典中的键是唯一的,而值可以重复。对于字典的排序操作,可以使用Python的sorted函数实现。本文将介绍Python实现的字典排序操作示例,涉及按键名key和按键值value排序两种方式。 按键名key排序 当需要按照字典的键名进行排序时,需要使用sorted…

    python 2023年5月13日
    00
  • Python字符串中删除特定字符的方法

    以下是Python字符串中删除特定字符的方法的完整攻略: 方法1:使用replace()函数 使用Python的replace()函数可以很方便地删除字符串中的特定字符。以下是一个示例代码: string = "Hello, World!" new_string = string.replace(",", "…

    python 2023年5月14日
    00
  • Python-嵌套列表list的全面解析

    Python-嵌套列表list的全面解析 在Python中,列表(List)是一种常用的数据类型,它可以存储多个元素,并且这些元素可以是不同的数据类型。而嵌套列表(List)则是指在一个列表中嵌套了另一个列表,也就是说,列表中的元素是列表。本文将全面解析Python中嵌套列表(List)的使用方法,包括创建、访问、添加、删除等操作。 创建嵌套列表(List)…

    python 2023年5月12日
    00
  • Python ARP扫描与欺骗实现全程详解

    Python ARP扫描与欺骗实现全程详解 概述 ARP(Address Resolution Protocol)地址解析协议是TCP/IP协议族下运用链路层的一个通讯协议,主要用于解析目标设备的硬件地址(MAC地址)与网络地址(IP地址)的对应关系,实现数据包在局域网上的发送与接收。 本文将详细讲解如何使用Python实现ARP扫描,发现局域网中的设备,以…

    python 2023年6月3日
    00
  • 如何使用Python获取MySQL中的数据库列表?

    要使用Python获取MySQL中的数据库列表,可以使用Python的内置模块sqlite3或第三方库mysql-connector-python。以下是使用mysql-connector-python获取MySQL中的数据库的完整攻略: 连接MySQL 要连接到MySQL,需要提供MySQL的主机名、用户名、和密码。可以使用以下代码连接MySQL“`py…

    python 2023年5月12日
    00
  • Python利用Matplotlib绘制图表详解

    Python利用Matplotlib绘制图表详解 介绍 Matplotlib是Python中一个常用的绘图库,它可以绘制各种类型的2D图表,包括线图、散点图、条形图、饼图、热力图等等。本文将介绍Matplotlib的基本使用方法,并通过两个示例说明常用的绘图功能。 安装 在使用Matplotlib之前,需要先安装它。可以通过pip命令进行安装: pip in…

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