python之开发规范下载,Python开发规范
命名规范Python之父推荐的规范类型
公共
内部的
模块
用.降低
_lower_with_under
包装
用.降低
班级
首字母大写
_CapWords
例外
首字母大写
功能
lower_with_under()
_lower_with_under()
全局/类常量
带下划线的大写字母
_大写_带_下
全局/类变量
用.降低
用.降低
实例变量
用.降低
_lower_with_under(受保护)或__lower_with_under(私有)
方法名称
lower_with_under()
_lower_with_under()(受保护)或__lower_with_under()(私有)
功能/方法参数
用.降低
局部变量
用.降低
应该避免的名字。单字符名称
2.在包/模块名中使用连字符(-)而不是下划线(_)
3.以双下划线开头和结尾的名称的命名约定(如__init__) 1。所谓“内部”是指它只在一个模块内可用,或者在一个类内被保护或私有。
2.以单个下划线(_)开始,表示模块变量或函数受保护(使用import * from时不会包括它)。
3.使用以双下划线(_ _)开头的实例变量或方法来指示类中的private。
4.将相关的类和顶级函数放在同一个模块中。与Java不同,没有必要将一个类限制在一个模块中。
5.使用以大写字母开头的单词作为类名(比如CapWords,Pascal style),但是模块名要用小写下划线(比如lower_with_under.py)。注释规范文档字符串Python使用文档字符串作为注释方法:文档字符串是包、模块、类或函数中的第一条语句。这些字符串可以由对象的doc成员自动提取,并由pydoc使用。我们对文档字符串的约定是使用三重引号" "(PEP-257)。
文档字符串应该按如下方式组织:
1.首先,以句号、问号或感叹号结尾的摘要行(或者文档字符串只有一行)。然后,一个空行。
2.然后是文档字符串的其余部分,它应该与文档字符串第一行的第一个引号对齐。
用户创建的:class:`Response `对象。
用来xxx一个:class: `JsonResponse `,也就是xxx
:参数数据:响应数据
:参数文件:响应文件
用法:
导入api
rep=api。回复(url=http://www.baidu.com )
内联注释(PEP8)内联注释是伴随代码语句的注释。
1.行内注释和代码应该至少用两个空格隔开。
2.注释以#和一个空格开始
X=x 1 #补偿边界模块每个文件应该包含一个许可证模板。根据项目中使用的许可证选择合适的模板(例如,Apache 2.0、BSD、LGPL、GPL)。
# -*-编码:utf-8 -*-
# 2017-2018年
#保留所有权利
#根据简化BSD许可证(请参见许可证)许可函数和方法除非满足以下条件,否则函数必须具有文档字符串:
1.外部不可见
2.非常短
3.简单明了
文档字符串应该包含函数做什么,以及输入和输出的详细描述。
文档字符串应该提供足够的信息。别人写代码调用这个函数的时候,他不需要看一行代码,只需要看文档字符串。
对于复杂的代码,在代码旁边添加注释比使用文档字符串更有意义。
def simple_func(方法,超时)
“”构造并发送:class:`Request`。
:param method:new:class:` request 对象的方法。
:param timeout:(可选)等待服务器发送数据的秒数
在放弃之前,作为一个float,或者一个:ref:`(连接超时,读
超时) `元组。
:类型超时:浮点或元组
:return:class:`Response `对象
:rtype:请求。反应
用法:
导入请求
req=requests.request(GET , http://httpbin.org/get )
类A类应该有一个文档字符串来描述其定义下的类。如果你的类有公共属性,文档中应该有一个属性部分。它应该遵循与函数参数相同的格式。
类HTTPAdapter(BaseAdapter):
“”urllib3的内置HTTP适配器。
为请求会话提供通用接口,以联系HTTP和
通过实现传输适配器接口来HTTPS URL。
:param pool_connections:要缓存的urllib3连接池的数量。
:param max_retries:每个连接的最大重试次数
应该尝试。
用法:
导入请求
s=请求。会话()
a=requests . adapters . http adapter(max _ retries=3)
不锈钢底座( http://,a)
def __init__(自身,池连接,最大重试次数):
self . pool _ connections=pool _ connections
Self.max_retries=max_retries阻止注释和行注释。对于复杂的操作,应该在操作开始之前写几行注释。对于不能自我解释的代码,应在行尾添加注释。
#我们使用加权字典搜索来找出我所在的位置
#数组。我们根据最大数量推断位置
#输入数组和数组大小,然后做二分搜索法来
#得到准确的数字。
I (I-1)==0: # TrueIFF I是2的幂每行长度不应超过80个字符。不要用反斜杠来连接行。Python隐式连接圆括号、方括号和花括号中的行。您可以利用这一特性。如有必要,您可以在表达式两边添加一对额外的括号。否:
query_sql=选择图像id,图像o,图像宽度,图像高度 \
从活动图像tbl \
其中拍卖标识=:拍卖标识和状态=1 \
按图像id DESC排序
是:
agent_sql=(如果不存在,则创建表db_agent(
id整数主键自动增量,
device_id VARCHAR(128)默认,
状态整数默认值为1,
更新时间时间戳默认当前时间戳,
created _ time timestamp default current _ timestamp))在注释中,如有必要,将长URL放在一行。
是:
#详情请访问
# http://www . example . com/us/developer/documentation/API/content/v 2.0/certification . html换行符使用4个空格来缩进代码。对于行连接的情况,您应该垂直对齐换行符的元素,或者使用4个空格的悬挂缩进(此时第一行不应该有参数):#垂直对齐换行符的元素。
foo=long_function_name(var_one,var_two,
var_three,var_four)
# 4悬挂缩进的空格(此时,第一行不应有参数)
foo=长函数名(
var_one,var_two,var_three,
Var_four)空格括号中没有空格是:
Spam(ham[1],{eggs: 2},[]) #注意标点符号两边的空格。
否:
Spam( ham[ 1 ],{eggs: 2 },[])逗号,分号,冒号前面不加空格,后面加YES:
如果x==4:
打印x,y
x,y=y,x
否:
如果x==4:
打印x,y
x,y=y,x二元运算符加起来两边要加一个空格(=,==,=,in,not.)当用=表示关键字参数或默认参数值时,def complex(real,imag=0.0):
Return magic(r=real,i=imag)不要在多行之间使用空格来垂直对齐标记,因为这样会成为维护的负担(for:#=等。)是的:
foo=1000 #评论
不应对齐的long_name=2 #注释
否:
foo=1000 #评论
Long _ name=2 #不应与模块导入对齐的注释。每个导入都应该有一行。是:
导入操作系统
导入系统
从子流程导入Popen,管道号PEP8
否:
导入sys,os模块导入顺序标签库导入第三方库导入应用指定导入到每个包中,要按照每个模块的完整包路径按字典顺序排序,忽略大小写。导入foo。
从foo导入栏
从foo.bar导入baz
从foo.bar导入Quux
从Foob进口arTODO注释TODO注释应包含“TODO”字符串在开始,随后是您的姓名,电子邮件地址或其他标识符括在括号中。然后是可选的冒号。然后必须有一行注释解释该怎么做。如果您的TODO是“在未来做某事”的形式,那么请确保您包括一个指定的日期(“2009年11月解决”)或一个特定的事件# TODO (kl @ gmail.com):在此使用 * 作为字符串重复。
# todo (zeke)将此更改为使用关系。二元运算符换行符(PEP8)#不推荐:运算符离操作数太远。
收入=(毛收入_工资
应税利息
(股息-合格股息)
ira _扣除额-
学生_贷款_利息)
#建议:运算符和操作数容易匹配。
收入=(毛收入_工资
应税利息
(股息-合格_股息)
-个人退休帐户扣除额
-学生_贷款_利息)其它规范不要在行尾加分号,也不要用分号将两条命令放在同一行。除非是用于实现行连接,否则不要在返回语句或条件语句中使用括号。不过在元组两边使用括号是可以的。顶级定义之间空两行,方法定义之间空一行熊猫使用规范熊猫数据结构命名df_、se_df取一列,禁止使用df .列名,可以使用df[列名], 建议使用df.loc[:列名]禁止使用df.ix目录结构示例 -文档
-请求
- __init__ .巴拉圭
- _internal_utils.py
- utils.py
- api.py
-测试
- setup.py
- README.rst
-许可证类别结构示例# -*-编码:utf-8 -*-
# 2017-2018年
#保留所有权利
#根据简化加州大学伯克利分校软件(Berkeley Software Distribution)许可证获得许可(请参见许可证)
请求。美国石油学会(American Petroleum Institute)
本模块包含xxx .
本模块旨在xxx .
# stdlib
导入操作系统
导入时间
从base64导入b64编码
# 3p
尝试:
导入psutil
异常导入错误:
psutil=无
将软件名称作为数据导入
#项目
从100 . utils导入当前时间
从.内部工具导入内部函数
类别响应(对象):
用户创建的:类:`响应对象。
用来xxx一个:class: `JsonResponse `,也就是xxx
:参数数据:响应数据
:参数文件:响应文件
用法:
导入美国石油学会(American Petroleum Institute)
rep=api .回复(url=http://www.baidu.com )
def __init__(自身,数据,文件,json,url)
self.data=数据
@静态方法
定义_排序_参数(参数):
这是私有静态方法
返回参数
def to_json():
全法布拉卞申,
xxx发送到服务器。
用法:
导入美国石油学会(American Petroleum Institute)
rep=api .回复(url=http://www.baidu.com )
rep.to_json()
if self.url==www :
返回真实的
返回错误的相关链接谷歌开源项目风格指南:https://zh-Google-style guide . readthedocs . io/en/latest/PEP 8风格的计算机编程语言代码指南:https://www . Python . org/dev/peps/PEP-0008/Python PEP 8编码规范中文版
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。