热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

提升Python编程效率的十点建议

本文介绍了提升Python编程效率的十点建议,包括不使用分号、选择合适的代码编辑器、遵循Python代码规范等。这些建议可以帮助开发者节省时间,提高编程效率。同时,还提供了相关参考链接供读者深入学习。

程序员的时间很宝贵,Python这门语言虽然足够简单、优雅,但并不是说你使用Python编程,效率就一定会高。要想节省时间、提高效率,还是需要注意很多地方的。

今天就与大家分享资深Python程序员总结的10点建议,帮助大家大幅节省开发时间。

1. 不使用分号

使用分号在 Python 中是可选的:与其他面向对象语言不同,你不需要在每一条语句后面使用分号。

这看起来很简单,似乎也节省不了多少时间;但一旦你的代码量扩展到数千号,这些分号就变得分心且没有必要键入。

2. 使用称手的代码编辑器

选择一个称手的代码编辑器可以节省大量的时间。面对这么多代码编辑器,很多新手都会感觉很迷茫。

习惯一个编辑器再使用其他编辑器会觉得很混乱,所以选一个称手的是一个好的起点。不管你选择哪一个,要实时支持flake8 和 PEP8。

参考链接:

Vim与Python真乃天作之合

Emacs:最好的Python编辑器

3. 遵循 Python 代码规范

23122833_1e7m.jpg

遵循 Python 代码规范可以提升代码的可读性,从而节省评审代码的时间。

参考链接:

Flask开发团队Pocoo的内部编码风格指南。

Python开发指南:最佳实践

4. 使用 help() 函数

Python 的 help() 是随手可用的内置函数可以节约很多时间,比如查找其他函数的解释。你可以在解释器终端直接运行该函数。

Python 文档有更多该函数的用法。

5. 善用第三方库

23122834_MHNz.jpg

Python 有大量的第三方库可以让你不必每次都重复造轮子。

比如,你可以从 PyPI(Python包索引)选择大量可用的包,这是一个软件仓库。

Scikit-image 是一个很好例子,它使图像处理任务如模糊,增强对比度,缩放只需要一些函数调用就可以完成。

参考链接:

2015年十大流行的Python库

2015年十大流行的Django库

6. 使用COOKIEcutter

23122834_Ru7n.jpg

COOKIEcutter 是一命令行工具,可以帮助你从工程模板创建 Python 工程,这可以节省大量的时间。

7. 严格的注释

23122834_Phac.jpg

养成写注释的好习惯,可以节省你和其他人的时间,尤其是作调试跟踪。

注释在团队合作是非常关键,尤其是一个做了大量变更。

8. 经常测试

尝试测试你程序中的每一个组件。听起来好像有点费时,但长时间运行可以节省大量时间,帮助你发现隐藏的 bug,让你对代码更放心,还强制你理解自己的每一片代码在真实情况下是如何地运行。

REPL 是一个 read-eval-print loop,一个常用的代码测试工具,很多Python高手都会使用它。

9. 专注和专业

23122834_mBap.jpg

建议要有一个专注领域和专长。你可以使用 Python 做很多事情,从编写网页到处理计算和算法。

已经有大量的库可以帮助完成这些任务,如 SimpleCV,计算机视觉处理;Biopython,是一个生物计算库; SymPy,是一个数学符号计算库。

深入类似这些的领域,并掌握一个特定的框架,帮助你在更深的层次学习 Python,掌握一个特定的代码风格,处理特定类型的问题。

10. 每天编码

当你养成了每天写 python 代码,使用 python 解决问题的习惯,你就会开始用 python 思考,可以这么说,这将最终会帮助你更快的解决问题。 学好python你需要一个良好的环境,一个优质的开发交流群,群里都是那种相互帮助的人才是可以的,我有建立一个python学习交流群,在群里我们相互帮助,相互关心,相互分享内容,这样出问题帮助你的人就比较多,群号是301056069,这样就可以找到大神聚合的群,如果你只愿意别人帮助你,不愿意分享或者帮助别人,那就请不要加了,你把你会的告诉别人这是一种分享。

每一步我都可以回过头去看,为了让读者更好的理解我会重新组织语言、组织逻辑、看看是不是有几个步骤可以合并。。。学而不思则罔 思而不学则殆!写博客让我做到了边学边思考。我还申请了知乎专栏,因为是知乎开阔了我的视野,让我从“不知己不知”过渡到“知己不知”。个人认为帮助你过渡到“知己不知”的人是最值得感谢的,想一想你要学习新的知识打开了搜索引擎却想不到用什么关键字,或者你压根不知道自己该学什么,无知是多么可怕啊!这就是老话说的,“师傅领进门”。希望我的一大通废话领你进门了,让你找到了学习的方法~我会把所有的学习过程记录在这里,欢迎大家一起来讨论。如果你开始动手了却找不到下一步的方向,也欢迎来参考我的记录。最后几句话与大家共勉:照着教程操作不是真正的动手,动手找方向,动手找解决办法,动手做,这才是真正的动手,动手,动手想一想自己是真正的有十年工作经验,还是一年的经验重复了九年!活到老,学到老。学到的不止是知识,进步让人身心愉悦,整个人都是正能量



推荐阅读
  • 问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ... [详细]
  • 深入理解云计算与大数据技术
    本文详细探讨了云计算与大数据技术的关键知识点,包括大数据处理平台、社会网络大数据、城市大数据、工业大数据、教育大数据、数据开放与共享的应用,以及搜索引擎与Web挖掘、推荐技术的研究及应用。文章还涵盖了云计算的基础概念、特点和服务类型分类。 ... [详细]
  • 本文旨在探讨设计模式在Visual FoxPro (VFP) 中的应用可能性。虽然VFP作为一种支持面向对象编程(xbase语言)的工具,其OO特性相对简明,缺乏高级语言如Java、C++等提供的复杂特性,但设计模式作为一种通用的解决方案框架,是否能有效应用于VFP,值得深入研究。 ... [详细]
  • 电商高并发解决方案详解
    本文以京东为例,详细探讨了电商中常见的高并发解决方案,包括多级缓存和Nginx限流技术,旨在帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本打算教一步步实现koa-router,因为要解释的太多了,所以先简化成mini版本,从实现部分功能到阅读源码,希望能让你好理解一些。希望你之前有读过koa源码,没有的话,给你链接 ... [详细]
  • 驱动程序的基本结构1、Windows驱动程序中重要的数据结构1.1、驱动对象(DRIVER_OBJECT)每个驱动程序会有唯一的驱动对象与之对应,并且这个驱动对象是在驱 ... [详细]
  • 本文将深入探讨C语言代码的可重用性,解释其重要性和实现方法。通过具体示例,我们将展示如何通过封装和模块化设计提高代码的可重用性。 ... [详细]
  • DRF框架中Serializer反序列化验证机制详解:深入探讨Validators的应用与优化
    在DRF框架的反序列化验证机制中,除了基本的字段类型和长度校验外,还常常需要进行更为复杂的条件限制校验。通过引入`validators`模块,可以实现自定义校验逻辑,如唯一字段校验等。本文将详细探讨`validators`的使用方法及其优化策略,帮助开发者更好地理解和应用这一重要功能。 ... [详细]
  • 深入解析 Django 中用户模型的自定义方法与技巧 ... [详细]
  • Django框架下的对象关系映射(ORM)详解
    在Django框架中,对象关系映射(ORM)技术是解决面向对象编程与关系型数据库之间不兼容问题的关键工具。通过将数据库表结构映射到Python类,ORM使得开发者能够以面向对象的方式操作数据库,从而简化了数据访问和管理的复杂性。这种技术不仅提高了代码的可读性和可维护性,还增强了应用程序的灵活性和扩展性。 ... [详细]
  • Django新手指南:第三步——构建你的首个项目
    在本教程中,我们将引导你完成创建第一个Django应用的步骤。通过实际操作,你将逐步了解Django框架的核心概念和基本功能。从项目结构到视图和模板的实现,我们将详细介绍每个环节,帮助你快速上手并构建出一个功能完整的Web应用。 ... [详细]
  • 本文讨论了在使用Git进行版本控制时,如何提供类似CVS中自动增加版本号的功能。作者介绍了Git中的其他版本表示方式,如git describe命令,并提供了使用这些表示方式来确定文件更新情况的示例。此外,文章还介绍了启用$Id:$功能的方法,并讨论了一些开发者在使用Git时的需求和使用场景。 ... [详细]
  • 在现代Web开发中,HTML5 Canvas常用于图像处理和绘图任务。本文将详细介绍如何将Canvas中的图像导出并上传至服务器,适用于拼图、图片编辑等场景。 ... [详细]
  • RTThread线程间通信
    线程中通信在裸机编程中,经常会使用全局变量进行功能间的通信,如某些功能可能由于一些操作而改变全局变量的值,另一个功能对此全局变量进行读取& ... [详细]
  • 本文介绍了GitHub上的一些Python开源项目,特别是IM(即时通讯)技术的应用。通过Sealtalk项目,探讨了如何利用开源SDK提升开发效率。 ... [详细]
author-avatar
X你好先生
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有