首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

年薪20万Python工程师进阶(6):Python ORM框架之 Peewee入门Python中10个必读的PEP提案

— Tim Peter 地址:https://www.python.org/dev/peps/pep-0008/ 1、PEP257 除了PEP8,还有PEP257是编写可维护代码的一份提案,指导程序员如何规范书写文档说明...地址: https://www.python.org/dev/peps/pep-0020/ image 3、PEP 557 PEP 557 是最近3.7中加入的新特性,叫做数据类(data class)...地址:https://www.python.org/dev/peps/pep-3156/ 6、 PEP 484 Python是一门动态语言,所谓动态类型语言是指我们在定义变量,返回返回值的时候无需指定类型...,你不写对代码的运行一点影响也没有,所以 PEP 484Python3.5 引入)提出了从代码层面上加入了静态语言的部分特性—-类型提示(Type Hints),你现在可以在函数、方法、类的参数和返回值声明其类型...与之类似还有PEP526,不过是关于它是用来给变量指定类型的。 def greeting(name: str) -> str: return "Hello, {}!".

50830

Python 相关文件常见的后缀名详解

pyi文件是PEP484提案规定的一种用于 Python 代码类型提示(Type Hints)的文件。...PEP8 格式化(PEP8),将 print 改为函数(PEP3105)等,关于PEP的更多了解见这篇文章:学习Python,怎能不懂点PEP?。...常用的 IDE 都会有类型检查提示功能,比如在 PyCharm 中,当我们给一个函数传入一个错误的类型时会给出对应的提示,这其实不是 IDE 的特殊开发的功能,它只是集成了PEP484的规定,利用了已经预先生成好的...图片 点击*号就会跳到对应的__init__.pyi文件,这个文件里按照PEP484规定,为os模块每个函数都定义了对应的类型检查规则。...图片 关于pyi文件的定义规则以及自己如何生成,详见官方文档:PEP 484 – Type Hints pyw 一种 Python 源代码文件,一般只存在于 Windows 系统。

3.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

解决了一个 Python Type Hints 的问题,分享一下

不过 PEP484 ( Type Hints )出来以后,循环 import 的问题在我代码里出现比较多了,因为需要注明变量(参数)类型,所以不得不将一些不需要 import 的类导入。...PEP-0563 里给出了另一个解决方案:使用typing.TYPE_CHECKING。这个常量在编辑器检查变量类型的时候为 True,在代码实际运行的时候为 False。...PEP-0563 里也给出了相关的解决方案。...在 Python 4 以后,函数的 annotations 将不再运行时被执行,所以也就不会报错了 在 Python3.7 下,我们可以使用from __future__ import annotations...总的来说,这些新特性让我的代码更加 humanize,我也十分期待 3.7 的正式发布,我觉得 3.7 里异步 context 的部分还挺好用的~

1.4K40

学习Python,怎能不懂点PEP

那正好,本文将系统性地介绍一下PEP,与大家一起加深对PEP的了解。 目前,国内各类教程不可胜数,虽然或多或少会提及PEP,但笼统者、局限于某个PEP,能够详细而全面地介绍PEP的文章并不多。...例如PEP 1(PEP Purpose and Guidelines,即关于PEP的指南)、PEP 347(Migrating the Python CVS to Subversion,即关于迁移Python...0(Index of Python Enhancement Proposals (PEPs))里,官方列举了所有的PEP,你可以按序号、按类型以及按状态进行检索。...而在PEP 1(PEP Purpose and Guidelines)里,官方详细说明了PEP的意图、如何提交PEP如何修复和更新PEP、以及PEP评审的机制等等。 为什么要读PEP?...对PEP的贡献 虽无确切数据作证,我国Python开发者的数量应该比任何国家都

56120

Python 3.8已正式发布,重要新功能都在这里了

整理:Jane、夕颜 00 Python3.8有哪些你要关注的新内容? Python3.8 都有哪些新功能,在文档手册中,大家可以有一个概览。这么新内容,哪些是大家最先要关注一下的?...Python的创建者Guido van Rossum是Mypy团队的成员。 你可以在原始PEP 484Python类型检查(指南)中找到有关类型提示的更多信息。...PEP 484 https://www.python.org/dev/peps/pep-0484/ Python 3.8已接受并包含四个有关类型检查的新PEP,每个都有简短示例。...多年来,Python增强建议书(PEP)越来越多地参与了关于Python语言的决策。尽管如此,Guido仍在所有新语言功能上都拥有最终决定权。...相反,他要求核心开发人员团队弄清楚今后应该如何管理Python。 幸运的是,PEP流程已经很完善,因此使用PEP讨论并决定新的治理模型顺理成章。

2.9K51

学习Python,怎能不懂点PEP

目前,国内各类教程不可胜数,虽然或多或少会提及PEP,但笼统者、局限于某个PEP,能够详细而全面地介绍PEP的文章并不多。...例如PEP 1(PEP Purpose and Guidelines,即关于PEP的指南)、PEP 347(Migrating the Python CVS to Subversion,即关于迁移Python...0(Index of Python Enhancement Proposals (PEPs))里,官方列举了所有的PEP,你可以按序号、按类型以及按状态进行检索。...而在PEP 1(PEP Purpose and Guidelines)里,官方详细说明了PEP的意图、如何提交PEP如何修复和更新PEP、以及PEP评审的机制等等。 为什么要读PEP?...对PEP的贡献 虽无确切数据作证,我国Python开发者的数量应该比任何国家都

89310

Python 3.8正式发布,重要新功能都在这里

Python3.8有哪些你要关注的新内容? Python3.8 都有哪些新功能,在文档手册中,大家可以有一个概览。这么新内容,哪些是大家最先要关注一下的?...Python的创建者Guido van Rossum是Mypy团队的成员。 你可以在原始PEP 484Python类型检查(指南)中找到有关类型提示的更多信息。...PEP 484 https://www.python.org/dev/peps/pep-0484/ Python 3.8已接受并包含四个有关类型检查的新PEP,每个都有简短示例。...多年来,Python增强建议书(PEP)越来越多地参与了关于Python语言的决策。尽管如此,Guido仍在所有新语言功能上都拥有最终决定权。...相反,他要求核心开发人员团队弄清楚今后应该如何管理Python。 幸运的是,PEP流程已经很完善,因此使用PEP讨论并决定新的治理模型顺理成章。

1.5K30

@程序员:Python 3.8正式发布,重要新功能都在这里

Python3.8有哪些你要关注的新内容? Python3.8 都有哪些新功能,在文档手册中,大家可以有一个概览。这么新内容,哪些是大家最先要关注一下的?...Python的创建者Guido van Rossum是Mypy团队的成员。 你可以在原始PEP 484Python类型检查(指南)中找到有关类型提示的更多信息。...PEP 484 https://www.python.org/dev/peps/pep-0484/ Python 3.8已接受并包含四个有关类型检查的新PEP,每个都有简短示例。...多年来,Python增强建议书(PEP)越来越多地参与了关于Python语言的决策。尽管如此,Guido仍在所有新语言功能上都拥有最终决定权。...相反,他要求核心开发人员团队弄清楚今后应该如何管理Python。 幸运的是,PEP流程已经很完善,因此使用PEP讨论并决定新的治理模型顺理成章。

2.3K20

Type Hints --- Python官方十二年磨一剑

十二年的时间 Python 官方是怎么把一个特性,变成标准,再把标准变成生产力的。 缘起 Python 是一门弱类型的语言,弱类型就是它原罪。...因为弱类型的存在使得一个对象的类型到运行时才确定的下来,一方面这给了 Python 程序巨大的灵活性。另一方面它也有它的问题,像下面这个函数,鬼知道它要接收什么类型的参数,返回什么类型的值。...PEP-484 Type-Hints 发布,官方推出一套专门用于函数注解的类型系统,并允许用户自定义函数注解类型,再加上 2006 年发布 PEP-3107 中定义的 __annotations__ 到这里函数注解就有了标准的写法和标准的读取...2018 年 Python-3.7 为了提升生产力,在类型提示上面再加了一把功夫,带来了 dataclasses 。假设我们现在要定义一个 Person 类,实例之间可以通过 age 属性来比较大小。.../dev/peps/pep-3107/ PEP 484 类型提示 https://www.python.org/dev/peps/pep-0484/ PEP 557 dataclasses

17020

学习Python,来点PEP吧!

那正好,本文将系统性地介绍一下PEP,与大家一起加深对PEP的了解。 目前,国内各类教程不可胜数,虽然或多或少会提及PEP,但笼统者、局限于某个PEP,能够详细而全面地介绍PEP的文章并不多。...例如PEP 1(PEP Purpose and Guidelines,即关于PEP的指南)、PEP 347(Migrating the Python CVS to Subversion,即关于迁移Python...而在PEP 1(PEP Purpose and Guidelines)里,官方详细说明了PEP的意图、如何提交PEP如何修复和更新PEP、以及PEP评审的机制等等。 为什么要读PEP?...PEP 405 -- Python Virtual Environments,虚拟环境 PEP 471 -- os.scandir() function,遍历目录 PEP 484 -- Type...,我国Python开发者的数量应该比任何国家都

60140

python2018.06聚会笔记

三.manjusaka分享的python最新的特性:类型注解和aync await的一些看法. pythonPEP484PEP256中对于类型注解提供了全面的支持....之前我们用来检查python类型的工具有mypy pytype 或者pycharm PEP563中的postponed evaluation of ananotation也就是注解的延迟执行被作为3.7..., id属性一致也不可以相等. structual typing system与之相反是运行时检查类型或者通过接口里的方法限制,norminal的方式java c采用, structual是python...go采用的方式.PEP484只是做了nominal的方式,但是如果这样的话我们以前使用的魔法方法都要显示的继承typing.abc里面的类,这太不符合python程序员的愿望了,实现起来太难了,所以PEP544...那async await代码适不适合上生产?

37820

Python 3.11正式版来了,比3.10快10-60%,官方:这或许是最好的版本

但对于刚刚接触 Python 的人来说却存在一个难题,即如何解释Python 遇到错误时显示的 traceback。...你可以通过调用 dis() 并设置 adaptive 参数来观察解释如何适应字节码。 在基准测试中,CPython 3.11 比 CPython 3.10 平均快 25%。...改进的类型变量 Python 是一种动态类型语言,但它通过可选的类型提示支持静态类型Python 静态类型系统的基础在 2015 年的 PEP 484 中定义。...Python 3.11 发布了 5 个与类型相关的 PEP,创下新高: PEP 646: 可变泛型 PEP 655: 根据需要或可能丢失的情况标记单个 TypedDict 项 PEP 673: Self...更多关于 Python 3.11 的更新细节请参阅原文档。

83730

大型项目 python 是个烂语言吗?

之前在知乎上浏览到一篇关于 python 是否能做大型项目的讨论,其中就说到YouTube,YouTube 不管从历史,代码量,程序员数量,还是支撑的业务规模来看,都是一个成功的大型 python web...这和我们今天讨论的主题有什么关系?你是否在某个时间段内也怀疑过python 是否真的能做超大型的项目?...FastAPI 是一种现代、高性能 的Web框架,用于基于标准Python类型提示使用 Python 3.6+ 构建API。 官方给出的核心功能有: 1....Pydantic(强制类型校验): Pydantic 是一个使用 Python 类型提示来进行数据验证和设置管理的库。Pydantic定义数据应该如何使用纯Python规范用并进行验证。...PEP484Python3.5 开始引入了类型提示的功能,PEP 526 使用Python3.6中的变量注释语法对其进行了拓展。

1.3K40

爬虫(108)Python 3.8的超酷新功能(接近一万字,请耐心享用,而且建议收藏)

PEP 572描述了赋值表达式的所有细节,包括将其引入语言的一些原理,以及如何使用海象运算符的几个示例。 仅位置参数 内置函数float()可用于将文本字符串和数字转换为float对象。...Python的创建者Guido van Rossum是Mypy团队的成员。 您可以在原始PEP 484Python类型检查(指南)中找到有关类型提示的更多信息。...Python 3.8已接受并包含了四个有关类型检查的新PEP。您将看到其中每个的简短示例。 PEP 586介绍了该Literal类型。Literal它有点特殊,因为它代表一个或多个特定值。...多年来,通过Python增强提案(PEP)做出了关于Python语言的越来越多的决定。尽管如此,Guido仍在所有新语言功能上都拥有最终决定权。...相反,他要求核心开发人员团队弄清楚今后应该如何管理Python。 幸运的是,PEP流程已经很完善,因此使用PEP讨论并决定新的治理模型是很自然的。

2.6K20

介绍几款 Python 类型检查工具

早在 2006 年的 PEP-3107,Python 就推出了函数注解的功能,最终落在 3.0 版本实现。...而到了 3.5 版本,Python 继续引入了静态类型检查的语法(即 PEP-484,type hints)。...2014 年的 PEP-483 更是以《The Theory of Type Hints》为题,做出了理论上的归纳。后来,又陆续提出了 PEP-526、PEP-544,类型检查的规范逐渐丰富。...支持类型检查及其它语法项的检查(如 PEP-484PEP-526、PEP-544),以及函数返回值、类变量、全局变量的检查,甚至可以检查条件循环语句 命令行工具。...4 种类型检查工具介绍完毕,下面是一份概要对比: ? 至于它们的性能如何,是否真如 pyright 所说,它的速度是其它几个的 5 倍?感兴趣的同学们可以去试试。有什么使用体会,欢迎留言与我交流。

1.1K10

Python 3.7 新特性概览(附实例

任何版本 Python 的发行,无论变化小,在任何开发开始之前都要经过细致的规划和设计。...实际上,你可以阅读 Python 3.7PEP (Python Enhancement Proposal,Python 增强提议),该提议是在2016年创建的。 3.7 中有什么新功能?...在 Python 3.7 中,breakpoint() 是内置函数,可以非常容易地在任何时候插入调试器。...在 Python 3.5 (PEP 484)中,使用注解进行编程的语法变得标准化,此后,Python 社区广泛使用了类型提示。...这就是注解和类型提示的基础。Python 3.7 中有什么变化?正如官方的 Python 文档所指出的,当人们开始使用注解作为类型提示时,出现了两个主要问题:启动性能和前向引用。

78330
领券