互联网发展了许多年,不仅颠覆了很多行业,还让很多职位有了更多的用武之地。产品发布迭代速度不断加快,让测试开发这个岗位简直火得不要不要的。

Python语言,作为一种更接近人来自然语言的开发语言,以简洁明了,上手快等优势被越来越多的人所关注。

测试开发的同学,也有不少选择了Python语言作为开发利器!这简直是如虎添翼!

Python入门很容易,但是其实也是博大精深的。

有时候测试开发的面试官除了从技术深度上考察候选人的水平,还会从知识广度上看看候选人接触面有多大。

比如:“你知道Python的PEP文档吗?做什么用的?哪里找到?”这个问题,就难倒了不少候选人呐。

下面跟着老司机,一起了解一下PEP吧?说不定下次面试会正好用到呢?

PEP全称是Python Enhancement Proposal,即:“Python改进提案”。在Python官网就有。

https://www.python.org/dev/peps/

一个PEP是一份为Python社区提供各种增强功能的技术规格,也是提交新特性,以便让社区指出问题,精确化技术文档的提案。

PEP是Python记录变化的书面文档,作用非常重要。

PEP主要有以下3种用途:

• 通知:汇总Python核心开发者需要的信息,并通知Python发布日程。

• 标准化:提供代码风格、文档或其他指导意见。

• 设计:对提交的功能进行说明。

PEP文档是一份为Python社区提供各种增强功能的技术规格,也是提交新特性,以便让社区指出问题,精确化技术文档的提案。

读PEP文档可以帮助读者了解Python设计的前因后果,可以解答类似问题:

• X功能为什么要以这么运行

• Python为什么没有Y功能

所有提交过的PEP都被汇总在Index of Python Enhancement Proposals(PEPs)中。PEP很有多类型,每个PEP都有对应的类型(PEP Status Key)。

核心要看的其实是F类型。

其它类型的,比如:Rejected、Deferred、Superseded和Draft的,除非为了锻炼自己英语阅读能力,否则不用看。

想在Python测试开发甚至研发方向精进的同学,老司机荐几个值得看的PEP

PEP 8— Style Guide for Python Code,Python编码规范

PEP 282— A Logging System,日志记录的详细介绍

PEP 318— Decorators for Functions and Methods 装饰器

PEP 342— Coroutines via Enhanced Generators 协程和yield

PEP 3119— Introducing Abstract Base Classes 抽象基类

挂一漏万,更多的请各位自行阅读吧。

所有PEP文档都是英文的。

从事IT行业,想看最权威的、最新的技术,阅读英文文档的能力必须锻炼。

PEP文档作用,地址,推荐文档都有了,对应面试,基本够用了。各位小伙伴你们怎么看呢?

作  者:Testfan Arthur

出  处:微信公众号:自动化软件测试平台

版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出文章链接

Python测试开发必知必会-PEP的更多相关文章

  1. .NET程序员项目开发必知必会—Dev环境中的集成测试用例执行时上下文环境检查(实战)

    Microsoft.NET 解决方案,项目开发必知必会. 从这篇文章开始我将分享一系列我认为在实际工作中很有必要的一些.NET项目开发的核心技术点,所以我称为必知必会.尽管这一系列是使用.NET/C# ...

  2. python网络爬虫,知识储备,简单爬虫的必知必会,【核心】

    知识储备,简单爬虫的必知必会,[核心] 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌 ...

  3. 测试脚本配置、ORM必知必会13条、双下划线查询、一对多外键关系、多对多外键关系、多表查询

    测试脚本配置 ''' 当你只是想测试django中的某一个文件内容 那么你可以不用书写前后端交互的形式而是直接写一个测试脚本即可 脚本代码无论是写在应用下的test.py还是单独开设py文件都可以 ' ...

  4. 13条必知必会&&测试

    1.13条必知必会 <> all(): 查询所有结果 <> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <> get(**kwargs) ...

  5. 《MySQL必知必会》整理

    目录 第1章 了解数据库 1.1 数据库基础 1.1.1 什么是数据库 1.1.2 表 1.1.3 列和数据类型 1.1.4 行 1.1.5 主键 1.2 什么是SQL 第2章 MySQL简介 2.1 ...

  6. SQL 必知必会

    本文介绍基本的 SQL 语句,包括查询.过滤.排序.分组.联结.视图.插入数据.创建操纵表等.入门系列,不足颇多,望诸君指点. 注意本文某些例子只能在特定的DBMS中实现(有的已标明,有的未标明),不 ...

  7. 2015 前端[JS]工程师必知必会

    2015 前端[JS]工程师必知必会 本文摘自:http://zhuanlan.zhihu.com/FrontendMagazine/20002850 ,因为好东东西暂时没看懂,所以暂时保留下来,供以 ...

  8. [ 学习路线 ] 2015 前端(JS)工程师必知必会 (2)

    http://segmentfault.com/a/1190000002678515?utm_source=Weibo&utm_medium=shareLink&utm_campaig ...

  9. 迈向高阶:优秀Android程序员必知必会的网络基础

    1.前言 网络通信一直是Android项目里比较重要的一个模块,Android开源项目上出现过很多优秀的网络框架,从一开始只是一些对HttpClient和HttpUrlConnection简易封装使用 ...

随机推荐

  1. IDEA Cannot access alimaven (http://maven.aliyun.com/nexus/content/groups/public/)

    [ERROR] Plugin org.apache.maven.plugins:maven-compiler-plugin:3.1 or one of its dependencies could n ...

  2. configmap使用-完整的configmap文档

    转发 https://www.jianshu.com/p/cf3e2218f283 转发 https://www.kubernetes.org.cn/3138.html 注意:configmap不用也 ...

  3. 061. Rotate List

    题目链接:https://leetcode.com/problems/rotate-list/description/ Example 1: Input: 1->2->3->4-&g ...

  4. appium+python等待方式使用

    背景: 首先,由于一个网速和手机性能以及服务器反应时间等等的原因,不可能导致我们点击了某一个元素之后,它所要链接的页面马上弹出来可以进行下一步操作.所以我们需要一种等待方式,直至链接的页面跳出来之后再 ...

  5. SICK激光扫描仪LMS511连接通讯

    一.设备介绍: 型号:LMS511-10100(DC 24v) 品牌:SICK 操作环境:Windows 10  64bit 软件:SOPAS ET 连接线:串口转网口线(1根/4针 子头),电源线( ...

  6. 利用delve(dlv)在Visual Code中进行go程序的远程调试-debug方式

    最近碰到一个问题,如何在Windows的IDE或者文本编辑器上,远程调试Linux服务器上的golang程序. 虽然想说gdb走你,但既然go有dlv这样的类似Java的jdwp的原生方案,而且我用的 ...

  7. 机器学习实战笔记——KNN约会网站

    ''' 机器学习实战——KNN约会网站优化 ''' import operator import numpy as np from numpy import * from matplotlib.fon ...

  8. 【VS开发】设备控制台 (DevCon.exe) 命令

    设备控制台 (DevCon.exe) 命令 DevCon (DevCon.exe) 是一个命令行工具,可以显示有关运行 Windows 的计算机上设备的详细信息.还可以使用 DevCon 启用.禁用. ...

  9. solr设置分片和副本

    numShards:分片数 replicationFactor:每个分片下的副本数 maxShardsPerNode:当numShards为1,replicationFactor为3时,maxShar ...

  10. jenkins和gitlab备份

    #把/opt目录拷贝到10.0.0.31的/tmp下. rsync  -avz  /opt  root@10.0.0.31:/tmp/ pull: rsync -avz root@10.0.0.31: ...