当前位置:首页 » 编程语言 » python规范

python规范

发布时间: 2022-02-07 19:59:54

python编码规范文档叫什么

PEP8编码规范,可以用插件自动调整格式让编码符合规范。

② python正则表达式辨别输入日期规范是什么

1、python正则表达式辨别输入日期规范如下:

year,month,day=eval(input("请输入年月日,之间用逗号分开"))

months=[31,28,31,30,31,30,31,31,30,31,30,31]

if (year%4==0 and year %100 !=0) or (year%400==0):

months[1]=29 #闰年的话2月最多29天

if month<1 or month>12:

print("月份不合法")

elif day<1 or day>months[month+1]:

print("日不合法")

else:

print("年月日合法")

2、代码:

③ 有没有检测自己编写Python程序是否规范的网站,并且纠正程序中不规范的地方

有个叫pep8的python库可以根据PEP8约定的内容检查你的代码, 并给出提示. 不能自动纠正.

④ 为什么python有两个不同的版本,并且语法规范什么的都不相通呢

语言会升级,很正常,基本上所有计算机语言都有这个问题,只不过Python没有保持向下兼容有点另类。

⑤ wsgi是python的规范吗

Python web 开发不一定要用框架

因为Python Web框架也是Python开发出来的。只是为了减少重复造轮子,降低开发门槛。

1、Python 的 Web 并不作为语言的一部分实现。因为通用语言的设计目标,Python 通过 C extension 形式的标准库,有原生的网络编程支持。也就是说,任何人都可以用 Python 的 socket 接口自己编写 Web 服务器。由于图灵机的等价性,用 Python 实现一个 PHP VM 也是技术可行的。

2、但是绝大多数人用 Python 做 Web 开发的时候不会选择自己用 socket 去实现一个服务器,因为 Python 官方有 Web 设计的标准—— WSGI (PEP 333 python.org/dev/peps...)。WSGI 定义的标准将 Web 应用划分为 WSGI Application 和 WSGI Server。后者类似 PHP 的 Web 运行时,提供对标准输入输出流的封装,前者则类似自己写的 PHP 应用,在封装后的环境中对具体应用进行 Web 开发。强烈建议阅读一下 PEP 333,对于理解 WSGI 的这种划分很有帮助。

3、目前为止,WSGI 在主流 Python 应用中得到广泛支持,所谓的 Python Web 框架,其实都是符合 WSGI Application 规范下,对Web开发中环境进行的封装,如果有精力,阅读一下 Bottle 框架的源码,就会非常有收获——只有一个文件,但是完整实现 WSGI 并封装为自己风格的一个环境(一个 Bottle 的实例就是一个 WSGI Application,实现了 __call__ 方法)。像 Django 这种框架已经逾越了Web框架范围的了,将 ORM、表单验证等等聚集成一块,有点像 RoR 的感觉。真正和 PHP 的 Web 环境等价的,是类似 Bottle 这样的微内核框架。

⑥ python pep8规范 换行对齐问题

PEP8规范(这一点似乎达到了高度的统一),但遵守80个字符限制的很少。在一些有明确规定的规范标准中,这个限制可能会增加(100或120),甚至完全删除。这样做常长见的理由是:我们已经不是使用VT100终端编程的年代了,我们有了更大,更高分辨率的屏幕。这是事实,但我发现,在Python编码中采用这个80个字符的规范,配合空格的使用,这会让我们的代码更急凑,更可读。
有一点你可以看出

⑦ 关于Python的编码规范提示,应该如何解决

那个你说的是编程代码提示么

⑧ python 中下划线使用的规范

PEP-8是Python的编程规范,可以看看,Naming Conventions那一节介绍了前/后、单/双下划线的用法。

⑨ python编码规范pep8每行不超过79包括了换行符吗

变量 常量 : 大写加下划线 USER_CONSTANT 对于不会发生改变的全局变量,使用大写加下

⑩ 如何使用 Pylint 来规范 Python 代码风格

Pylint具体介绍Pylint的安装Pylint可以用于所有高于或者等于2.2的Python版本兼容。需要logilab-astng(version>=0.14)和logilab-common(version>=0.13)的包(具体信息,请参阅参考资料),如果是Python版本低于2.3,那么它还需要optik包(本文接下来的示例暂不考虑这种情况)。Pylint所用到的所有的包的下载地址logilab-astng的最新包下载:等等。在Pylint的输出中有如下两个部分:源代码分析部分和报告部分。源代码分析部分:对于每一个Python模块,Pylint的结果中首先显示一些"*"字符,后面紧跟模块的名字,然后是一系列的message,message的格式如下:MESSAGE_TYPE:LINE_NUM:[OBJECT:]MESSAGEMESSAGE_TYPE有如下几种:(C)惯例。违反了编码风格标准(R)重构。写得非常糟糕的代码。(W)警告。某些Python特定的问题。(E)错误。很可能是代码中的错误。(F)致命错误。阻止Pylint进一步运行的错误。清单2.Pylint中的utils模块的输出结果*************MoleutilsC:88:Message:MissingdocstringR:88:Message:Toofewpublicmethods(0/2)C:183:MessagesHandlerMixIn._cat_ids:MissingdocstringR:183:MessagesHandlerMixIn._cat_ids:MethodcouldbeafunctionR:282:MessagesHandlerMixIn.list_messages:Toomanybranches(14/12)报告部分:在源代码分析结束后面,会有一系列的报告,每个报告关注于项目的某些方面,如每种类别的message的数目,模块的依赖关系等等。具体来说,报告中会包含如下的方面:检查的mole的个数。对于每个mole,错误和警告在其中所占的百分比。比如有两个moleA和B,如果一共检查出来4个错误,1个错误是在A中,3个错误是在B中,那么A的错误的百分比是25%,B的错误的百分比是75%。错误,警告的总数量。回页首使用Pylint分析Python代码的具体示例下面是一个从xml文件中读取一些值并显示出来的一段Python代码dw.py,代码如下:清单3.源码importstring#!/usr/bin/envpythonimportxml.dom.minidomxmlDom=xml.dom.minidom.parse("identity.xml")organizations=xmlDom.getElementsByTagName('DW')fororginorganizations:procts=org.getElementsByTagName('linux')forproctinprocts:print'ID:'+proct.getAttribute('id')print'Name:'+proct.getAttribute('name')print'WordCount:'+proct.getAttribute('count')清单4.identity.xml的内容这时候使用Pylint的结果(这是从html格式的输出中拷贝的)为:清单5.Pylint的分析结果*************MoledwC:1:MissingdocstringC:5:=xml.dom.minidom.parse("identity.xml")^C:5:Invalidname"xmlDom"(shouldmatch(([A-Z_][A-Z0-9_]*)|(__.*__))$)C:6:Invalidname"organizations"(shouldmatch(([A-Z_][A-Z0-9_]*)|(__.*__))$)Report部分省略输出中第一部分是源代码分析,第二部分是报告。输出结果中有这么多信息,从哪里开始分析呢?首先使用如下的步骤来分析代码:1.因为输出结果太长,所以可以先不让它输出报告部分,先根据源代码分析部分来找出代码中的问题。使用选项"--reports=n"。2.使用选项"--include-ids=y"。可以获取到源代码分析部分每条信息的ID。清单6.使用pylint--reports=n--include-ids=ydw.py的结果*************MoledwC0111:1:MissingdocstringC0322:5:=xml.dom.minidom.parse("identity.xml")^C0103:5:Invalidname"xmlDom"(shouldmatch(([A-Z_][A-Z0-9_]*)|(__.*__))$)C0103:6:Invalidname"organizations"(shouldmatch(([A-Z_][A-Z0-9_]*)|(__.*__))$)每个信息前面都会加上一个id,如果不理解这个信息的意思,可以通过pylint--help-msg=id来查看。清单7.使用pylint--help-msg=C0111的结果C0111:*Missingdocstring*Usedwhenamole,function,classormethodhasnodocstring.Somespecialmethodslike__init__doesn'tnecessaryrequireadocstring..3.开始分析每个源代码中的问题。从上面知道,第一个问题的原因是缺少docstring,在代码中增加docstring,修改后的代码如下:清单8.增加docstring修改后的源码#!/usr/bin/envpython""""""importxml.dom.minidomxmlDom=xml.dom.minidom.parse("identity.xml")organizations=xmlDom.getElementsByTagName('DW')fororginorganizations:procts=org.getElementsByTagName('linux')forproctinprocts:print'ID:'+proct.getAttribute('id')print'Name:'+proct.getAttribute('name')print'WordCount:'+proct.getAttribute('count')重新运行pylint--reports=n--include-ids=ydw.py,结果为:清单9.运行结果*************MoledwC0322:7:=xml.dom.minidom.parse("identity.xml")^C0103:7:Invalidname"xmlDom"(shouldmatch(([A-Z_][A-Z0-9_]*)|(__.*__))$)C0103:8:Invalidname"organizations"(shouldmatch(([A-Z_][A-Z0-9_]*)|(__.*__))$)可以看到源代码中的第一个问题已被解决。4.关于第二个C0322的问题,这里的分析结果说明得比较清楚,是代码第七行中的等号运算符两边没有空格。我们在这里加上空格,重新运行pylint--reports=n--include-ids=ydw.py,结果为:清单10.运行结果*************MoledwC0103:7:Invalidname"xmlDom"(shouldmatch(([A-Z_][A-Z0-9_]*)|(__.*__))$)C0103:8:Invalidname"organizations"(shouldmatch(([A-Z_][A-Z0-9_]*)|(__.*__))$)5.可以看到现在问题只剩下C0103了。这里的意思是变量命名规则应该符合后面正则表达式的规定。Pylint定义了一系列针对变量,函数,类等的名字的命名规则。实际中我们不一定要使用这样的命名规则,我们可以定义使用正则表达式定义自己的命名规则,比如使用选项--const-rgx='[a-z_][a-z0-9_]{2,30}$',我们将变量xmlDom改为xmldom,代码如下:清单11.将变量xmlDom改为xmldom后的源码#!/usr/bin/envpython""""""importxml.dom.minidomxmldom=xml.dom.minidom.parse("identity.xml")organizations=xmldom.getElementsByTagName('DW')fororginorganizations:procts=org.getElementsByTagName('linux')forproctinprocts:print'ID:'+proct.getAttribute('id')print'Name:'+proct.getAttribute('name')print'WordCount:'+proct.getAttribute('count')运行pylint--reports=n--include-ids=y--const-rgx='[a-z_][a-z0-9_]{2,30}$'dw.py,结果中就没有任何问题了。6.如果希望一个组里的人都使用这些统一的规则,来规范一个部门的代码风格。比如说大家都使用--const-rgx='[a-z_][a-z0-9_]{2,30}$'作为命名规则,那么一个比较便捷的方法是使用配置文件。使用pylint--generate-rcfile>pylint.conf来生成一个示例配置文件,然后编辑其中的--const-rgx选项。或者也可以直接pylint--const-rgx='[a-z_][a-z0-9_]{2,30}$'--generate-rcfile>pylint.conf,这样生成的配置文件中--const-rgx选项直接就是'[a-z_][a-z0-9_]{2,30}$'了。以后运行Pylint的时候指定配置文件:pylint--rcfile=pylint.confdw.py这样Pylint就会按照配置文件pylint.conf中的选项来指定参数。在一个部门中,大家可以共同使用同一个配置文件,这样就可以保持一致的代码风格。7.如果把report部分加上,即不使用--reports=n,可以看到报告部分的内容。

热点内容
万能钥匙wifi破解不了密码怎么办 发布:2024-12-28 18:03:41 浏览:162
上传义乌购 发布:2024-12-28 17:57:59 浏览:280
python网络开发 发布:2024-12-28 17:56:36 浏览:511
androidisvisible 发布:2024-12-28 17:51:43 浏览:513
安卓系统如何卡游戏首充优惠 发布:2024-12-28 17:30:51 浏览:478
收银机密码忘了怎么办 发布:2024-12-28 17:24:57 浏览:653
开源服务器怎么登陆 发布:2024-12-28 17:22:47 浏览:268
微信无法清理缓存 发布:2024-12-28 17:19:34 浏览:19
哪个安卓相机和苹果差不多 发布:2024-12-28 16:52:34 浏览:187
eclipse不编译jsp 发布:2024-12-28 16:43:40 浏览:229