pep

从仁慈的独裁者到微软打工人,Python之父和Python将走向何方?

此生再无相见时 提交于 2020-11-26 11:25:22
文章目录 1. 龟叔的传说 2. 龟叔为什么辞职? 3. 龟叔真的离开Python了吗? 4. 龟叔入职微软后的主要工作是什么? 5. Pyhton未来将走向何方? 6. Py3.9之后的下一个版本是什么? 7. 未来Py4会兼容Py3吗? 8. Py4会有哪些新功能? 但凡名人,一言一行一举一动都会引发热议和追捧,名气越大,影响就越大。比如Python之父,被业内人士尊称为龟叔的吉多·范罗苏姆(Guido van Rossum)老爷子,退休之后赋闲在家才刚满一年,闲得五脊六兽,前几天跑微软继续放光发热去了。这么一件简单的事情,却在业内引起了轩然大波。很多人都在猜测,龟叔这是要彻底放弃Python吗? 其实呢,这不过是一位工作了一辈子的老人一时难以适应退休生活而做出的正常调整,实在无需作过多解读。假如龟叔不是去微软而是选择去钓鱼的话,难不成就要臆测龟叔打算再写一款名为Fish的编程语言吗?不过,IT界对于龟叔行踪的过于敏感,细究之下,却也不无道理。 一方面,两年多来,龟叔和Python社区之间发生了很多故事。先是龟叔和Python社区在语言扩展上产生了龃龉,伤心之下龟叔愤然宣布放弃“仁慈的独裁者”权力;紧接着Python社区改革了决策和管理模式,从先前的BDFL(Benevolent Dictator For Life,终身仁慈独裁者)模式改成了社区管理委员会模式

Python: Enum枚举的实现

冷暖自知 提交于 2020-11-21 09:29:19
如果是新版Python用户(Python 3.4 with PEP 435 ): ? 1 2 from enum import Enum Animal = Enum( 'Animal' , 'ant bee cat dog' ) or ? 1 2 3 4 5 class Animals(Enum): ant = 1 bee = 2 cat = 3 dog = 4 旧版Python用户可以充分发挥动态语言的优越性来构造枚举,有简单的: ? 1 2 3 4 5 def enum( * * enums): return type ( 'Enum' , (), enums) Numbers = enum(ONE = 1 , TWO = 2 , THREE = 'three' ) # Numbers.ONE == 1, Numbers.TWO == 2 and Numbers.THREE == 'three' 有复杂的: ? 1 2 3 4 5 6 def enum( * sequential, * * named): enums = dict ( zip (sequential, range ( len (sequential))), * * named) return type ( 'Enum' , (), enums) Numbers = enum( 'ZERO' , 'ONE' ,

关于Python3.9,看这张16岁高中生做的「新特性必知图」就够了

喜你入骨 提交于 2020-11-14 12:00:27
金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI Python3.9 ,「千呼万唤始出来」。 先来速看下此次发布版本的重点。 新 语法特性 : PEP 584,为 dict 增加合并运算符。 PEP 585,标准多项集中的类型标注泛型。 PEP 614,放宽对装饰器的语法限制。 新 内置特性 : PEP 616,移除前缀和后缀的字符串方法。 新 标准库中的特性 : PEP 593,灵活的函数和变量标注。 添加了 os.pidfd_open() ,允许不带竞争和信号的进程管理。 解释器 方面的改进: PEP 573,从 C 扩展类型的方法快速访问模块状态。 PEP 617,CPython 现在使用基于 PEG 的新解析器。 …… 新 库模块 : PEP 615,IANA 时区数据库现在已包含于标准库的 zoneinfo 模块。 图的拓扑排序实现现在已由新的 graphlib 模块提供。 为了更好地理解此次更新,Twitter上一位16岁少年 Pratham Prasoon ,还自制了一张 「Python 3.9新特性必知图」 。 列出了他认为比较重要的 八大新特性 ,广受网友好评。 字典合并与更新运算符 此次 「字典的合并与更新运算符」 的新特性,是Python3.9的一大亮点。 合并 (|) 与更新 (|=) 运算符已被加入内置的 dict 类,扩充了现有的 dict

关于 Python3.9,看这张 16 岁高中生做的「新特性必知图」就够了

白昼怎懂夜的黑 提交于 2020-11-14 01:44:10
金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI Python3.9 ,「千呼万唤始出来」。 先来速看下此次发布版本的重点。 新 语法特性 : PEP 584,为 dict 增加合并运算符。 PEP 585,标准多项集中的类型标注泛型。 PEP 614,放宽对装饰器的语法限制。 新 内置特性 : PEP 616,移除前缀和后缀的字符串方法。 新 标准库中的特性 : PEP 593,灵活的函数和变量标注。 添加了 os.pidfd_open() ,允许不带竞争和信号的进程管理。 解释器 方面的改进: PEP 573,从 C 扩展类型的方法快速访问模块状态。 PEP 617,CPython 现在使用基于 PEG 的新解析器。 …… 新 库模块 : PEP 615,IANA 时区数据库现在已包含于标准库的 zoneinfo 模块。 图的拓扑排序实现现在已由新的 graphlib 模块提供。 为了更好地理解此次更新,Twitter上一位16岁少年 Pratham Prasoon ,还自制了一张 「Python 3.9新特性必知图」 。 列出了他认为比较重要的 八大新特性 ,广受网友好评。 字典合并与更新运算符 此次 「字典的合并与更新运算符」 的新特性,是Python3.9的一大亮点。 合并 (|) 与更新 (|=) 运算符已被加入内置的 dict 类,扩充了现有的 dict

献给 Python 开发人员的 25 个最佳 GitHub 代码库!

送分小仙女□ 提交于 2020-11-10 23:32:58
以下为译文: 根据2020年StackOverflow开发者调查报告,Python是世界上最受欢迎的语言之一,排名仅次于Rust和TypeScript。更令人惊讶的是,Python是开发人员最想尝试的语言。如果你是一位使用Python的开发人员,而且希望提高自己的技术水平,或者你想学习Python,那么你可来对地方了。本文将为你献上25个最佳GitHub代码库。 1、最佳Python代码库 Python资源精选列表1:Python框架、库、软件以及资源精选列表。 (https://github.com/vinta/awesome-python) Python资源精选列表2:精心筛选的一组Python框架、库、软件以及资源列表。 (https://github.com/trananhkma/fucking-awesome-python) Python精选应用程序:将近400个开源Python应用程序,按主题陈列,且附有使用apatite根据结构化数据生成的代码库、文档等链接。 (https://github.com/mahmoud/awesome-python-applications) Pytorch:与Pytorch相关的库,Pytorch是有名的张量与动态神经网络机器学习框架。 (https://github.com/bharathgs/Awesome-pytorch-list

Django学习笔记之数据库-数据库与模型

流过昼夜 提交于 2020-11-02 18:41:44
MySQL数据库 在网站开发中,数据库是网站的重要组成部分。只有提供数据库,数据才能够动态的展示,而不是在网页中显示一个静态的页面。数据库有很多,比如有 SQL Server 、 Oracle 、 PostgreSQL 以及 MySQL 等等。 MySQL 由于价格实惠、简单易用、不受平台限制、灵活度高等特性,目前已经取得了绝大多数的市场份额。因此我们在 Django 中,也是使用 MySQL 来作为数据存储。 数据库相关软件 MySQL数据库安装 在 MySQL 的官网下载 MySQL 数据库安装文件: https://dev.mysql.com/downloads/windows/installer/5.7.html 。 然后双击安装,如果出现以下错误,则到 http://www.microsoft.com/en-us/download/details.aspx?id=17113 下载 .net framework 。 在安装过程中,如果提示没有 Microsoft C++ 2013 ,那么就到以下网址下载安装即可: http://download.microsoft.com/download/9/0/5/905DBD86-D1B8-4D4B-8A50-CB0E922017B9/vcredist_x64.exe 。 接下来就是做好用户名和密码的配置即可。

Python经典习题100例(附PDF下载地址)

青春壹個敷衍的年華 提交于 2020-11-01 20:30:48
pk哥肝了一个月,从两本书《Python基础教程(第3版)》和《流畅的Python》里把知识点进行了汇总,整理成了 100 道 Python习题, Python 100题我已经整理成了 PDF 文档,需要文档的可以关注下方公众号「Python知识圈」并回复:“ 100 ” 获取文档。 关注后回复:“ 100 ” 获取 pdf 文档 作者:pk哥 公众号:Python知识圈 Python基础习题 怎么计算2的3次方 解法1:直接用运算符 ** >>> 2**3 8 解法2:用函数 pow >>> pow(2,3) 8 怎么找出序列中的最大最小值? 用内置函数 max 和 min >>> l = (123, 888, 666) >>> max(l) 888 >>> min(l) 123 怎么将字符列表转为字符串 用 join 方法,合并序列的元素 >>> l = [ 'Python' , 'Circle' , 'is' , 'ok' ] >>> j = ' ' .join(l) >>> j 'Python Circle is ok' 怎么快速打印出包含所有 ASCII 字母(大写和小写)的字符串 用 string 模块的方法 >>> import string >>> string.ascii_letters

**(双星号/星号)和*(星号/星号)对参数有什么作用?

一世执手 提交于 2020-11-01 06:48:56
在以下方法定义中, * 和 ** 对 param2 有何作用? def foo(param1, *param2): def bar(param1, **param2): #1楼 * 和 ** 在函数参数列表中有特殊用法。 * 表示参数是列表, ** 表示参数是字典。 这允许函数接受任意数量的参数 #2楼 ** (双星)和 * (星)对参数有什么作用 它们允许 定义函数以接受 和允许 用户传递 任意数量的参数,位置( * )和关键字( ** )。 定义功能 *args 允许任意数量的可选位置参数(参数),这些参数将分配给名为 args 的元组。 **kwargs 允许任意数量的可选关键字参数(参数),这些参数将在名为 kwargs 的字典中。 您可以(并且应该)选择任何适当的名称,但是如果要使参数具有非特定的语义,则 args 和 kwargs 是标准名称。 扩展,传递任意数量的参数 您也可以使用 *args 和 **kwargs 分别从列表(或任何可迭代的)和字典(或任何映射)中传入参数。 接收参数的函数不必知道它们正在扩展。 例如,Python 2的xrange并不明确期望 *args ,但是因为它需要3个整数作为参数: >>> x = xrange(3) # create our *args - an iterable of 3 integers >>> xrange(*x)

如何在 Python 里面精确四舍五入?

徘徊边缘 提交于 2020-11-01 06:29:27
花下猫语: 如何精确地计算浮点数?这是计算机科学的大难题。那 Python 是如何处理浮点数的四舍五入问题的呢?今天分享的文章,对此展开了深入的剖析。 本文作者 kingname,来自网易,公众号“未闻Code”。如需转载,请联系作者。 今天又有一个Python初学者被中文技术博客中的垃圾文章给误导了。 这位初学者的问题是: 在Python中,如何精确地进行浮点数的四舍五入,保留两位小数? 如果你在Google或者百度上搜索,你会发现大量的来自CSDN或者简书上面的文章讲到这一点,但是他们的说法无外乎下面几种: 连例子都不举的垃圾文章 如下图所示,懒得吐槽。 使用round函数 他们举的例子为: >>> round ( 1.234 , 2 ) 1.23 这种文章,他只演示了 四舍 ,但是却没有演示 五入 。所以如果你代码稍作修改,就会发现有问题: >>> round ( 11.245 , 2 ) 11.24 先放大再缩小 这种文章稍微好一点,知道多举几个例子: 然而这种文章也是漏洞百出,只要你多尝试几个数字就会发现问题,在Python 2和Python 3下面,效果是不一样的。先来看看Python 2下面的运行效果: 在Python 2里面,直接使用 round , 1.125 精确到两位小数后为 1.13 ,而 1.115 精确到两位小数后是 1.11 。 再来看看Python

mysql学习笔记

跟風遠走 提交于 2020-10-28 11:25:35
【前言】以前学过mongodb,几天的学习,也算入了MySQL的门。参考下面一个网站,慢慢的系统学习一下。 一个系统的网站 (点我) 一、基础介绍   1、数据库——表——列(及其指定的数据类型)。   2、行,表中的数据是按行存储的,保存的每个记录存储在自己的行内。   3、 主键(primary key): 一列或一组列,其值能够唯一区分表中的每一行;唯一标识表中每行的这个列(或这组列)称为主键。例如我设计的(Id)。要求: ① 任意两行都不具有相同的主键值; ② 每个行都必须具有一个主键值(主键列不允许NULL值); #一个表有多个候选键,我们选择一个作为主键 CREATE TABLE student_info ( number INT PRIMARY KEY, name VARCHAR(5) '注释信息', # 注释以单引号放在,里面 sex ENUM('男', '女'), major VARCHAR(30), enrollment_time DATE ); #也可以把主键声明单独提取出来:PRIMARY KEY (列名1, 列名2, ...) #多个列组成的候选主键,必须单独列出 CREATE TABLE student_score ( number INT, subject VARCHAR(30) UNIQUE, #唯一性约束,不允许列中有相同的 score