Python学习之路-编码风格

这篇具有很好参考价值的文章主要介绍了Python学习之路-编码风格。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Python学习之路-编码风格

设计哲学

Python的设计哲学是“优雅”、“明确”、“简单”。它的重要准则被称为“Python之禅”。Python之禅又名PEP 20,在Python解释器内运行import this可以获得完整的列表,下面是我的翻译与解读:

提姆·彼得斯(Tim Peters)撰写的《 Python之禅 》
优雅胜于丑陋(以编写优雅的代码为目标)
明确胜于晦涩(明确的代码增强了程序的可读性)
简单胜于复杂(简单的代码能解决复杂的问题)
复杂胜于凌乱(如果项目变得复杂,那代码间也要保持简洁)
扁平胜于嵌套(优雅的代码应该是扁平的,不能有太多嵌套)
间隔胜于紧凑(优雅的代码应当有适当的间隔,不要写一些为了缩减代码丢失了可读性)
可读性很重要(代码的可读的非常重要)
即便假借特例的实用性之名,也不可违背这些规则(这些规则是写Python程序的必备条件)
不要包容所有错误,除非你确定需要这样做(代码中不能存在错误,要善于使用捕获异常)
当存在多种可能,不要尝试去猜测
而是尽量找一种,最好是唯一一种明显的解决方案
虽然这并不容易,因为你不是 Python 之父(虽然你不是Guido,在设计程序时应该多思考,找出最好的解决方案)
做也许好过不做,但不假思索就动手还不如不做(要思考好之后再开始写代码)
如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(好的方案是人人都能懂得方案)
命名空间是一种绝妙的理念,我们应当多加利用(要善于利用命令空间)

Python开发的哲学是“用一种方法,最好是只有一种方法来做一件事”。在设计Python程序时,如果面临多种选择,一般会拒绝花俏的语法,而选择明确没有或者很少有歧义的语法。

编码规范

PEP 8是由Guido van Rossum , Barry Warsaw , Nick Coghlan三位共同编写的一个Python代码风格规范。可以在这里查看具体内容,如果英文不好可以在Python风格指南中查看主要的内容

检查工具

pylint是一个Python代码风格的检查工具, 它依据的标准是Guido van Rossum的PEP 8。

pylint类似于PyChecker, 但提供了更多的功能, 如检查代码行的长度, 检查变量命名是否符合编码规范, 或检查声明的接口是否被真正的实现, 完整的检查功能请参见http://www.logilab.org/card/pylintfeatures。

pylint的最大优势在于其高度的可配置化和可定制化,你可以很容易地写一个小插件添加个人功能。

用法示例

 pylint.bat --reports=n --include-ids=y --disable-msg=W0122,W0702 xlsconverter.py > lint_result.txt

其中:

  • –reports=n 表示不产生输出报告
  • –include-ids=y 表示输出的错误信息包含错误编号
  • –disable-msg=W0122,W0702 表示W0122和W0702这两个警告信息被过滤掉了
  • xlsconverter.py 是被检查的脚本
  • 检查的结果被输出到了lint_result.txt中。

{{< admonition tip “提示” true >}}
任何语言的程序员,编写出符合规范的代码,是开始程序生涯的第一步。PEP 20和PEP 8陪伴我们整个学习和使用Python的过程。

{{< /admonition >}}文章来源地址https://www.toymoban.com/news/detail-806599.html

到了这里,关于Python学习之路-编码风格的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 竞赛项目 深度学习图像风格迁移 - opencv python

    🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习图像风格迁移 - opencv python 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:4分 🧿 更多资料, 项目分享: https://gitee.com/danche

    2024年02月13日
    浏览(45)
  • 什么是好的FPGA编码风格?(2)--多参考设计软件的语言模板(Language Templates)

            不论是Xilinx的Vivado,还是Altera的Quartus II,都为开发者提供了一系列Verilog、SystemVerilog、VHDL、TCL、原语、XDC约束等相关的语言模板(Language Templates)。         在Vivado软件中,按顺序点击Tools----Language Templates,即可打开设计模板界面。         在Quartus II软件中,

    2024年02月05日
    浏览(41)
  • 深度学习图像风格迁移 - opencv python 计算机竞赛

    🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习图像风格迁移 - opencv python 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:4分 🧿 更多资料, 项目分享: https://gitee.com/danche

    2024年02月04日
    浏览(57)
  • 【深度学习实战】基于深度学习的图片风格快速迁移软件(Python源码+UI界面)

    摘要: 图像风格迁移(Image Style Transfer) 是一种将一张图像的风格应用到另一张图像上的技术。本文详细介绍了其实现的技术原理,同时给出完整的 Python 实现代码、训练好的Pt模型,并且通过 PyQT 实现了UI界面,更方便进行功能的展示。图片风格转换系统主要实现了3种风格

    2024年02月02日
    浏览(52)
  • Python学习之路-Python操作redis

    在Python中操作 Redis 可以直接用 redis 模块 安装Redis的有3种方式https://github.com/andymccurdy/redis-py 第一种:进⼊虚拟环境py_django,联⽹安装包redis 第二种:进⼊虚拟环境py_django,联⽹安装包redis 第三种:到中⽂官⽹-客户端下载redis包的源码,使⽤源码安装: 下载:执行 wget https:/

    2024年01月22日
    浏览(42)
  • go 、rust、python 语言 编码效率、性能比较

    1、 Rust适合内存使用苛刻、无GC、超高性能的场景 , 如果是实时计算系统,那rust的吞吐量对于Go还是有一定优势的,基于线程和goroutine的调度模式还是有差别的。能用他的都是高手,代码量大,内存占用不高, 20个线程,每个线程运行50亿次,rust和Go用时,16.5s vs 36秒,内存占

    2024年02月10日
    浏览(43)
  • Python学习之路-内存管理

    Python的内存管理机制可以总结为:引用计数、垃圾回收、内存池。 引用计数是一种非常高效的内存管理手段, 当一个 Python 对象被引用时其引用计数增加 1, 当其不再被一个变量引用时则计数减 1. 当引用计数等于 0 时对象被删除。 引用计数 引用计数也是一种垃圾收集机制,

    2024年01月21日
    浏览(94)
  • Python学习之路-函数进阶

    函数根据有没有参数以及有没有返回值,可以相互组合,一共有4 种组合形式:无参数,无返回值;无参数,有返回值;有参数,无返回值;有参数,有返回值。 {{ admonition tip “提示” true }} 定义函数时,是否接收参数,或者是否返回结果,是根据实际的功能需求来决定的!

    2024年01月23日
    浏览(42)
  • Python学习之路-多任务:协程

    协程,又称微线程,纤程。英文名Coroutine。协程是python个中另外一种实现多任务的方式,只不过比线程更小占用更小执行单元(理解为需要的资源)。 为啥说它是一个执行单元,因为它自带CPU上下文。这样只要在合适的时机, 我们可以把一个协程 切换到另一个协程。 只要这

    2024年01月17日
    浏览(53)
  • Python学习之路-初识面向对象

    面向对象编程(英语:Object-oriented programming,缩写:OOP)是种具有对象概念的编程典范,同时也是一种程序开发的抽象方针。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性,对象里的程序可以访问及经常修改对象相关连的数据。

    2024年01月21日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包