加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

3大利器保举,帮你写出类型大度的Python代码

发布时间:2019-02-16 05:50:31 所属栏目:建站 来源:奔跑的鳄鱼
导读:Python学了良久,可是拿出来review的代码仿佛老是长的不足俊美,不足工致!因此尺度化的代码类型就显得尤为重要。本日就来保举3个利器,python界普及认同的代码气魄威风凛凛类型PEP8和两个超牛的器材pylint和black,别离用于代码气魄威风凛凛类型检测和自动优化。 1、代码风

一段20行的代码就检测到云云之多的题目提醒,固然手动修改代码有助于对PEP 8类型的进修,但当项目文件较量多、剧本代码很长的时辰,其实是一个不小的事变量,因此就呈现了可以或许自动优化代码气魄威风凛凛的器材。

3、自动优化器材Black

在浩瀚代码名目化器材中,Black算是较量新的一个,它最大的特点是可设置项较量少,小我私人以为这对付新手来说是件功德,由于我们不必过多思量怎样配置Black,让 Black 本身做抉择就好。

1).安装与行使

与pylint相同,直接pip install black即可完成该模块的安装,不外black依靠于Python 3.6+,但它如故可以名目化Python2的代码。

在行使方面black默认读取指定python文件并对其举办代码类型名目化,然后输出到原文件。

  1. l = [1, 
  2.     2, 
  3.     3, 

譬喻,我们将上面这段代码生涯为test.py,然后在节制台执行 black test.py 指令,再次打开test.py,发明个中的代码酿成了这个样子:

  1. l = [1, 2, 3] 

虽然,Black的封装水平再高也是有自界说设置项的,譬喻行使--version查察版本、行使--help查察辅佐信息、行使--diff将修改信息输出到节制台而不变动原文件,下面我们照旧团结一个实例来举办演示声名。

2).实例演示声名

这里我们如故行使pylint部门的代码举办演示。通过上面的操纵我们知道,对这段代码直接行使pylint举办测试会输出许多题目提醒,并给出一个评分0。此刻我们起首行使black对其举办名目化,获得以下代码:

  1. # -*- coding:utf-8 -*- 
  2.  
  3. import pandas as pd 
  4.  
  5. data = [] 
  6. char_replace_dict = {':':'  ', '(':'(', ')':')', ',':','} 
  7.  
  8. with open('xmq_survey.txt', 'r', encoding = 'utf-8') as file: 
  9.  for line in file.readlines(): 
  10.    for key, value in char_replace_dict.items(): 
  11.      line = line.replace(key, value)#原本这个是深度引用 
  12.      #这条代码比本身写的简介的多,也更python 
  13.    data.append(line) 
  14.  
  15. with open('survey.txt', 'w', encoding = 'utf-8') as file: 
  16.  for line in data: 
  17.    file.write(line) 
  18.  
  19. raw_data = pd.read_table('survey.txt', delimiter = '    ', header = None) #查察read_table函数的用法 
  20. raw_data.columns = ['Name', 'Raw Info'] 
  21. raw_data.count() 
  22. print('successful') 

也许看起来修改前后的代码差别并不十理解显,实质上black已经对代码中参数赋值 = 两头的空格、注释的名目、制表符等举办了替代和修改,我们行使pylint来举办验证,执行 pylint 模块名称 呼吁,获得如下功效:

3大利器保举,帮你写出类型大度的Python代码 

可以看到,相对付最初的文件,评分从0分进步到7.3分,输出的题目提醒少了许多,剩余的题目首要是穷乏声名文档、变量定名不类型.black对付进步我们代码类型性价比也长短常高的。

假如不想black直接对原文件举办修改,而是想看看它对代码中的哪些处所举办了窜改的话,可以行使--diff参数,执行black --diff 文件名称,black会将相干信息输出到节制台(下图,个中-暗示源代码,+暗示提议修改后的代码),而不会对原文件举办修改。

3大利器保举,帮你写出类型大度的Python代码 
总之,black真的是一个很是好用的库,尤其对付新手来说,可以很利便地类型本身的代码气魄威风凛凛。  【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读