返回顶部
首页 > 资讯 > 后端开发 > Python >Python3的功能有哪些
  • 249
分享到

Python3的功能有哪些

2023-06-16 04:06:45 249人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容主要讲解“python3的功能有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python3的功能有哪些”吧!1. 枚举Python 3允许您以简单的方式在Enum类中编写枚举。 枚

本篇内容主要讲解“python3的功能有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习python3的功能有哪些”吧!

1. 枚举

Python 3允许您以简单的方式在Enum类中编写枚举。 枚举由类语法组成,可简化读取和写入的过程,但没有任何结构-代码不易产生。

from enum import Enum, auto class Fruit(Enum):    APPLE = auto()    ORANGE = auto()    GUAVA = auto()print(Fruit.APPLE) # Fruit.APPLE

当确切值微不足道时,您可以使用自动值来代替。

枚举是与特定的固定值关联的符号项(成员)的集合。 在枚举中,可以通过命名以及单独迭代枚举来区分符号名称。

for fruit in Fruit:     print(fruit)  -> Fruit.APPLE -> Fruit.ORANGE -> Fruit.GUAVA

最低要求Python版本:3.4

2. 类型提示

相对于动态而言,静态打字是计算机语言中的热门话题,每个人对此都有自己的见解。 我将允许查看者考虑何时编写类型。 但是,我觉得您必须了解Python  3支持类型提示。

def fruits_word(line: str) -> bool:   return "fruit" in line test = fruits_word("I love to eat fresh fruits") print(test)# True

最低要求Python版本:3.5

3. Pathlib

F字符串令人难以置信,但是诸如文件路径之类的字符串都有其自己的库,这些库使操作它们变得更加容易。  Pathlib模块简化了各种复杂的情况,并且还优化了一些简单的情况。 作为使用文件路径的便捷抽象,Python 3提供了pathlib。

from pathlib import Path root = Path('blog_new_folder') print(root) # blog_new_folder path = root / 'new_program' print(path.resolve()) # /home/vivekcoder/Workspace/My_Programming/Medium-Articles/python3_uncommon_features/blog_new_folder/new_program

我觉得这篇文章会启发您在需要处理Python文件时使用Python Pathlib模块。

最低要求Python版本:3.4

4. F-Strings

在没有字符串的情况下,很难以任何编程语言执行任何操作,并且您希望使用结构化的方法来使用字符串来保持高效。  大多数使用Python的人都喜欢使用fORMat方法。

import datetime name = "Leijie" activity = "writing Toutiao article" time = datetime.date(2020, 8, 15)  message = 'My name is {}, I completed an activity {} on {}.'.format(name, activity, time)  print(message) # My name is Leijie, I completed an activity writing Toutiao article  on 2020-08-15.

除了格式外,Python 3还提供了一种通过f字符串插值字符串的通用方法。 上面的带有f字符串的代码如下所示:

import datetime name = "Leijie" activity = "writing Toutiao article" time = datetime.date(2020, 8, 15) message = f'My name is {name}, I completed an activity {activity} on {time:%A, %B %d, %Y}.'  print(message)# My name is Leijie, I completed an activity writing Toutiao article   on Saturday, August 15, 2020.

与利用字符串连接或格式化字符串相比,F-Strings创建的代码甚至更易于理解和使用。

F字符串允许使用最少的语法将表达式集成到字符串文字中。 应当注意,f-Strings实际上是运行时表达式,而不是固定值。

最低要求Python版本:3.6

5. 内置LRU缓存

如果最新的呼叫是传入呼叫的最佳预测器,则LRU(最近最少使用)的缓存性能会很好。 (例如,最常见的新闻服务器帖子每天都会变化)。  缓存的大小限制意味着,如果没有像WEB服务器这样的长时间运行的循环,缓存就不会扩展。

定义用户功能时,它必须是可调用的。 这使得在Python 3中可以将lru_cache装饰器直接应用于用户函数。

下面是一个斐波那契函数的示例,我们知道该函数将从缓存中受益,因为通过递归,它可以多次执行相同的工作。

import time def fibon(number: int) -> int:     if number == 0: return 0     if number == 1: return 1     return fibon(number-1) + fibon(number-2) start = time.time()fibon(20) print(f'Duration: {time.time() - start}s') -> Duration: 0.007005214691162109s

在这里,我们可以利用lru-cache对其进行配置。 (这种优化方法称为备忘录)。  装饰器涵盖了一个具有备忘录的可调用函数,该函数可存储最近调用的最大大小。

from functools import lru_cache @lru_cache(maxsize=512) def fib_memoization(number: int) -> int:     if number == 0: return 0     if number == 1: return 1         return fib_memoization(number-1) + fib_memoization(number-2) start = time.time()fib_memoization(20) print(f'Duration: {time.time() - start}s') -> Duration: 4.341516078231e-09s

最低要求Python版本:3.2

6. 扩展的可重复拆包

我将允许代码在下面回应。 一个示例描述了功能,该功能优于1000个单词:

x, *y, z = range(4) print(x, y, z) # 0 [1, 2] 3 python_version, file_name, topic, *output = "python3.0 hello.py betterprogramming 1 2 3 4".split() print(python_version) print(file_name) print(topic) print(output) # python3.0 # hello.py# betterprogramming# ['1', '2', '3', '4'] a, b, c, *d = range(7) print(b, d) # 1 [3, 4, 5, 6]

最低要求Python版本:3.0

有关扩展的可迭代解压缩的更多信息,请参见此处的官方Python 3文档。

7. 数字文字中的下划线

Python 3.6提供了一种令人兴奋的方法,可以通过强调数字来帮助阅读数字文字。 它可以用于描述例如数千个,十六进制和二进制数。

price = 50_000  print(f'Price: {price}')  # Price: 50000 hexa_val = 0xABCD_EFD9  print(f'Decimal equivalent: {hexa_val}')  # Decimal equivalent: 2882400217 bin_ary = 0b_0010_0110  print(f'Decimal: {bin_ary}')  # Decimal: 38

最低要求Python版本:3.6

8. 赋值表达式-“海象”运算符

在Python的最新版本中,引入了walrus运算符,该运算符可对表达式进行变量分配。  如果您打算稍后在代码中引用外观,则可能会有所帮助,并且可以节省一行或两行代码。

birds = [‘owl’, ‘hen’, ‘duck’, ‘parrot’] for bird in birds:    if (len_bird := len(bird)) > 4:         print(f’A bird “{bird}” consists of “{len_bird}”, letters’)# A bird “parrot” consists of “6”, letters

最低要求Python版本:3.8

9. 数据类

Python 3提供的数据类几乎没有什么限制,并且由于装饰器会自动生成诸如__init __()和__repr  __()之类的独特方法,因此可用于减少样板代码。 官方提案将其列为“具有默认值的可变命名元组”。

class Item_list:     def __init__(self, name: str, perunit_cost: float, quantity_available: int = 0):         self.name = name         self.perunit_cost = perunit_cost         self.quantity_available = quantity_available             def total_cost(self) -> float:         return self.perunit_cost * self.quantity_available book = Item_list("better programming.", 50, 2) x = book.total_cost()print(x)# 100 print(book)# <__main__.Item_list object at 0x00000052DB9D2A48>

使用@dataclass装饰器,您可以编写相同的实现:

from dataclasses import dataclass @dataclassclass Item_list:    name: str    perunit_cost: float    quantity_available: int = 0     def total_cost(self) -> float:         return self.perunit_cost * self.quantity_available     book = Item_list("better programming.", 50, 2) x = book.total_cost()print(x)# 100 print(book) # Item_list(name='better programming.', perunit_cost=50, quantity_available=2)

最低要求Python版本:3.7

到此,相信大家对“Python3的功能有哪些”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Python3的功能有哪些

本文链接: https://lsjlt.com/news/282426.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python3的功能有哪些
    本篇内容主要讲解“Python3的功能有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python3的功能有哪些”吧!1. 枚举Python 3允许您以简单的方式在Enum类中编写枚举。 枚...
    99+
    2023-06-16
  • sql的功能有哪些
    这篇文章给大家分享的是有关sql的功能有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。sql的功能包括哪四个部分?SQL语言功能主要分成四部分:(1)数据定义。(DDL)用于...
    99+
    2024-04-02
  • PDMan的功能有哪些
    本篇内容介绍了“PDMan的功能有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!最近有个新项目刚过完需...
    99+
    2024-04-02
  • Nginx的功能有哪些
    这篇文章主要讲解了“Nginx的功能有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Nginx的功能有哪些”吧!Nginx 是一个免费的,开源的,高性能...
    99+
    2024-04-02
  • ViewState的功能有哪些
    ViewState在ASP.NET中的功能如下:1. 跨请求保持控件状态:ViewState可以存储页面上控件的状态,以便在页面的多...
    99+
    2023-09-08
    ViewState
  • windows365的功能有哪些
    这篇文章主要讲解了“windows365的功能有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“windows365的功能有哪些”吧!windows365的功能一、远程操控,无视设备 我们...
    99+
    2023-07-01
  • ChatGPT的功能有哪些
    这篇文章主要介绍“ChatGPT的功能有哪些”,在日常操作中,相信很多人在ChatGPT的功能有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ChatGPT的功能有哪些”...
    99+
    2023-02-20
    chatgpt
  • ipv6的功能有哪些
    今天小编给大家分享一下ipv6的功能有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。 ...
    99+
    2023-02-02
    ipv6
  • ecshop的功能有哪些
    这篇文章主要讲解了“ecshop的功能有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ecshop的功能有哪些”吧! ecs...
    99+
    2023-02-23
    ecshop
  • Dubbo的功能有哪些
    这篇文章主要讲解了“Dubbo的功能有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Dubbo的功能有哪些”吧!dubbo功能非常完善,很多时候我们不需要重复造轮子,下面列举一些你不一定...
    99+
    2023-06-04
  • fastreport2.5的功能有哪些
    FastReport 2.5 是一款用于创建和生成报表的软件工具,具有以下功能: 报表设计:提供了一个可视化的报表设计器,可以通过...
    99+
    2024-02-29
    fastreport
  • phpqrcode的功能有哪些
    PHPQRCode 是一个用于生成 QR 码的 PHP 类库。它提供了一些主要功能,包括: 生成 QR 码:可以生成包含各种信息(...
    99+
    2024-03-02
    phpqrcode
  • mysqlinstaller的功能有哪些
    MySQL Installer是MySQL官方提供的一个集成工具,用于安装和管理MySQL数据库及相关工具。它的功能包括: 安装...
    99+
    2024-04-09
    mysqlinstaller
  • sqlfront的功能有哪些
    SQLFront是一个针对数据库开发和管理的工具,具有以下功能: SQL查询和脚本编辑:用户可以使用SQL语言编写、编辑和执行数...
    99+
    2024-05-21
    sqlfront
  • 有哪些有用的Github功能
    这篇文章主要讲解了“有哪些有用的Github功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有哪些有用的Github功能”吧!Gist可能很多人并没有听过...
    99+
    2024-04-02
  • bootstrap有哪些功能
    这篇文章主要介绍“bootstrap有哪些功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“bootstrap有哪些功能”文章能帮助大...
    99+
    2024-04-02
  • 有哪些Python功能
    这篇文章主要介绍“有哪些Python功能”,在日常操作中,相信很多人在有哪些Python功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”有哪些Python功能”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-16
  • BigBlueButton有哪些功能
    这篇文章主要讲解了“BigBlueButton有哪些功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“BigBlueButton有哪些功能”吧!BigBlueButton:用于在线教学的开源...
    99+
    2023-06-27
  • APFS有哪些功能
    这篇文章主要介绍“APFS有哪些功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“APFS有哪些功能”文章能帮助大家解决问题。Apple 文件系统 (APFS) 是 Mac 电脑的默认文件系统格式,...
    99+
    2023-06-27
  • HTML5有哪些功能
    本篇内容主要讲解“HTML5有哪些功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HTML5有哪些功能”吧!HTML5介绍2014年10月29日,万维网联盟正式宣布了 HTML5规范,HTML...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作