写代码宜工工整整,忌放飞自我|Python代码规范

更多教程请私信~

来源:思路实验室 

作者:室长

大家好,欢迎收看思路实验室出品的Python入门教程,我是室长。

很多同学在之前的教程里发现,怎么室长贴出来的代码里有那么多波浪线、高亮块啊?这也是PyCharm的小秘书干的吗?

这就要注意了,这次可不是小秘书,而是阅卷老师了。他划出这些波浪线就是在告诉你,这块写得不好,最好要改一下。

很奇怪,我们之前的代码不是运行得很好吗?为什么还说写得不好呢?

其实我们目前虽然是自己关起门来写程序,但保不齐以后要跟人合作,或分享一些代码。既然有给别人看的可能,那如果自己的代码写得乱七八糟的,给别人看了不得社死啊!

可反过来说,都是在电脑上打的代码,怎么算工整,怎么算不工整呢?既然我们使用的是Python,工不工整当然由Python说的算。

Python有一个为使用者提供指导建议的文件,叫PEPs(Python Enhancement Proposals,Python增强建议书),其中的8号文件叫Python代码风格指南(Style guide for Python code),简称为PEP8。而PyCharm就是按照PEP8的规则对我们写的代码进行评判,标注出不符合的地方(当然也不限于PEP8,还会有其他的依据,但PEP8是最主要的)。

我们看一下之前的代码:

好家伙,看着都晃眼。我们先来看第一个,定义装冰箱函数和它的参数“什么玩意”都是波浪线+高亮处理。我们把鼠标悬停到它的上边:

在标识符中出现了非-ASCII字符?什么意思?

这里讲ASCII字符可能大家不太好理解,但是现在我们能够知道的是我们的函数名用了中文,原因就在这里。

Python是可以使用中文去命名的,但其实并不推荐。不说别的,虽然命名可以用中文,但关键字、括号冒号什么的都是用的英文字符,用中文命名完了还总得切换输入法,可能一不小心就输入个中文符号直接导致报错。所以这里我们把名字都改成英文:

波浪线一下子就少了有木有!

注意室长给函数命名的方式,函数名中间是不能有空格的,所以用下划线将单词之间连接起来。这种命名方式叫下划线命名法(UnderScoreCase)。(听起来应该是一句废话)

我们再来看第4行的波浪线,同样鼠标悬停在上边:

这回显示是根据PEP8作出的判断。E302是指的错误编号,expected 2 blank lines,found 1是指需要两个空行但只有一个。我们看一看前边的代码,是不是只有第三行是空行?所以我们在前边加一个空行就可以了。实际上,这也是对所有定义函数的规范,定义一个函数需要在前边的内容结束后空两行再开始。我们举一反三,把后边的也改了:

一下子就清爽很多了。(当然因为空行多了,大家看文章花的流量也多了那么一丢丢)

还差最后一个波浪线,我们继续:

E305 expected 2 blank lines after class or function definition, found 1。意思是在定义类或函数的后边应该空两行,现在只空了一行。这个就很好理解了,还是少空了一行。这次我们注意在提示信息的下边有一行蓝色的Reformat the file,我们点一下看看:

直接给修改好了,谢谢PyCharm老师批改作业!

不过可能会有人觉得,写代码嘛,最重要的是开心。放飞自我无拘无束才是最佳的状态,不希望总有人在自己的代码上乱涂乱画说三道四,可不可以把这个功能给关了?其实也是可以的。

我们点击PyCharm左上角的File→Settings,点击Editor → Inspections,里边的所有内容都是PyCharm老师的阅卷依据:

我们点击Python,在里边搜索PEP8:

把这两项取消勾选就可以了。但是室长非常不推荐这样做,代码还是应该工工整整的,看起来美观,可读性也会提高,不光方便别人,还方便自己。

这一期我们学习了使用PyCharm让我们的代码变得更加规范。室长更建议随着对Python的学习,结合PyCharm的提示功能,逐步地了解。如果这篇文章对你有所帮助,希望能帮室长点个赞和在看,你的鼓励是室长进步的动力!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值