1  注释

 

 介绍

  在大多数编程语言当中,注释都是一项非常有用的功能。我们开始编写的程序之中都只包含Python代码,但是随着程序越来越大、越来越复杂,就应在其中添加说明,对你解决问题的方法进行大致的阐述。注释让你能够使用自然语言在程序当中添加说明。在Python中,注释用井号(#)标识。井号后面的内容都会被Python解释器忽略,如下所示:

# 向大家问好
print("Hello Python people!")

  

  Python解释器将忽略第一行,只执行第二行。

Hello Python people!

 该编写什么样的注释

  编写注释的主要目的是阐述代码要做什么,以及是如何做的。在开发项目期间,你对各个部分如何协同工作了如指掌,但是过了一段时间之后,有些细节你可能不记得了。当然,你总是可以通过研究代码来确定各个部分的工作原理,但是通过编写注释,以清晰的自然语言对解决方案进行概述,可以节省很多时间。

  要成为专业程序员或与其他程序员合作,就必须编写有意义的注释。当前,大多数软件都是合作编写的,编写者可能是同一家公司的多名员工,也可能是众多致力于同一个开源项目的人员。训练有素的程序员都希望代码中包含注释,因此你需要在程序中添加许多描述性注释,最值得养成的习惯之一是,在代码中编写清晰、简洁的注释。

  如果不确定是否要编写注释,就问问自己,找到合理的解决方案前,是否考虑了多个解决方案。如果答案是肯定的,就编写注释对你的解决方案进行说明吧。相比回过头再去添加注释,删除多余的注释要容易的多。

2  Python之禅

  

  编程语言Perl曾在互联网领域长期占据着统治地位,早期的大多数交互式网站使用的都是Perl脚本。彼时,“解决问题的办法有多个”被Perl社区奉为座右铭。这种理念一度深受大家的喜爱,因为这种语言固有的灵活性使得大多数问题都有很多不同的解决之道。在项目开发期间,这种灵活性是可以接受的,但是大家最终意识到,过于强调灵活性会导致大型项目难以维护:要通过研究代码搞清楚当时解决复杂问题的人是怎么想的,既困难又麻烦,还会耗费大量的时间。

  经验丰富的程序员倡导避繁就简。Python社区的理念都包含在Tim Peters写的“Python之禅”当中。要获悉这些有关编写优秀Python代码的指导原则,只需在解释器当中执行命令import this。这里不打算讲述整个“Python之禅”,而只与大家分享其中的几条原则,然你明白为什么它们对你来说至关重要。

>>>import this
The Zen of Python, by Tim PetersBeautiful is better than ugly.

  

  Python程序员笃信代码可以编写得漂亮而优雅。编程是要解决问题的,设计良好、高效而漂亮的解决方案都会让程序员心生敬意。随着你对Python的认知越来越深入,并使用它来编写越来越多的代码,有一天也许会有人站在你后面惊呼:“哇,这代码编写的真是漂亮!”

Simple isbetter than complex.

  

  如果有两个解决方案,一个简单,一个复杂,但是都行之有效,就选择简单的解决方案吧。这样,你编写的代码将更容易维护,你或他人以后改进这些代码时也会更加容易。

Complex is better than complicated.

  

  现实是复杂的,有时候可能没有简单的解决方案。在这种情况下,就选择最简单可行的解决方案吧。

Readability counts.

  

  即便是复杂的代码,也要让它易于理解。开发的项目涉及复杂代码时,一定要为这些代码编写有益的注释。

There should be one-- and preferably only one --obviors way to do it

  

  如果让两名Python程序员去解决同一个问题,他们提供的解决方案应大致相同。这并不是说编程没有创意空间,而是恰恰相反!然而,大部分编程工作都是使用常见解决方案来解决简单的小问题,但是这些小问题都是包含在更庞大、更具创意的项目当中。在你的程序之中,各种具体细节对其他Python程序员来说都应易于理解。

Now is better than never.

  

  你可以将余生都用来学习Python和编程的纷繁难懂之处,但是这样你什么项目都完不成。不要企图编写完美无缺的代码;先编写行之有效的代码,再决定是否对其做进一步改进,还是转而去编写新的代码。

  此后,务必这种简约而清晰的理念。如此,经验丰富的程序员定将对你编写的代码心生敬意,进而乐意向你提供反馈,并与你合作开发有趣的项目。

Python心得--新手开发注意相关推荐

  1. Python的新手如何配置适合自己的开发环境?

    Python语言是一种强大而简洁的编程语言.据IEEE Spectrum消息,Python在2020年继续蝉联最受欢迎的编程语言第一名.对于刚接触Python的新手来说,配置一个容易上手又适合自己的开 ...

  2. Python心得--如何提高代码质量

    前些日子用python基于prometheus开发了一个vsphere volume卷监控的exporter,于是跟vsphere的api(pyvmomi)接口打上了交道,开发的过程中你会发现pyvm ...

  3. python实训收获_英泰移动通信:学习Python心得体会

    原标题:英泰移动通信:学习Python心得体会 我今年刚毕业就去了外地开始找工作,我发现就我们学的理论知识来说能上岗的有技术含量的工作不多,所有接到的面试大部分都是让做销售,这对于我们刚毕业的学生来说 ...

  4. python简单编程例子-中文方便就用中文编程!Python图形界面开发实例

    原标题:中文方便就用中文编程!Python图形界面开发实例 之前做的一个Python小程序,功能很简单,面对用户群也很窄,是五笔编码编.校人员使用的五笔编码编辑器. 这样的"周末" ...

  5. 学python心得体会500字-英泰移动通信:学习Python心得体会

    原标题:英泰移动通信:学习Python心得体会 我今年刚毕业就去了外地开始找工作,我发现就我们学的理论知识来说能上岗的有技术含量的工作不多,所有接到的面试大部分都是让做销售,这对于我们刚毕业的学生来说 ...

  6. python做exe开发教程_python做exe开发教程

    python做exe开发教程内容摘要 python做exe开发教程其他方法无效时可用免疫抑制剂,交通部监理员教程证,6.客户端的异常测试.6.机费用械性能(1)抗拉试验:酒店入职教程内容,6.9l-8 ...

  7. ios新手开发——toast提示和旋转图片加载框

    不知不觉自学ios已经四个月了,从OC语法到app开发,过程虽然枯燥无味,但是结果还是挺有成就感的,在此分享我的ios开发之路中的小小心得~废话不多说,先上我们今天要实现的效果图: 有过一点做APP经 ...

  8. python web开发要学什么_Python WEB开发 用Python开展web开发必须学习什么?

    用Python开展web开发必须学习哪些? 针对新手想更轻轻松松的学好Python开发技术性,Python网络爬虫,Python数据分析,人工智能技术等技术性,这儿给大伙儿共享一套系统软件教育资源,加 ...

  9. python windows 客户端开发_如何在Windows上使用Python进行开发

    本文由葡萄城技术团队于原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 一直以来C#都是微软在编程语言方面最为显著的Tag,但时至今日Python ...

最新文章

  1. unity替换mesh测试
  2. python图像分割动态域值_python+opencv阈值分割
  3. python读取配置文件 分段_Python3读写ini配置文件的示例
  4. awesome xjtlu github project
  5. [云炬创业学笔记]第一章创业是什么测试7
  6. php 订单过期处理,PHP实现处理过期或者超时订单,并还原库存
  7. 1.7 空间正交分解
  8. stdin,stdout,stderr
  9. c语言数据结构 字符串,C++数据结构之字符串操作
  10. 【图像增强】基于matlab频域+密度分割+灰度级-彩色变换伪彩色图像增强【含Matlab源码 1011期】
  11. 64位linux下安装libpng出错,安装libpng-1.6.10时make出现错误,请帮忙
  12. 如何使用html制作网页
  13. Source Insight乱码解决方案
  14. 各种博客的代码高亮是如何实现的
  15. JAVA--异常 throwable
  16. DELL电脑开机自检提示please run setup program
  17. JWB1: webapp相关简介
  18. 第六章 软件层之AGDI下载程序接口
  19. 华为荣耀畅玩5C NEM-UL10 ROOT那些事儿(亲测成功)
  20. 随心听出高质量 百度音乐更新支撑电台

热门文章

  1. 从今天开始学习iOS开发(iOS 7版)-- 概论 (一)
  2. iOS中XML解析 (一) TBXML (实例:打印xml内容及存储到数组)
  3. PHP 批量生成 WORD2007 文件
  4. Leetcode算法题(C语言)14--颠倒整数
  5. 《剑指Offer》 跳台阶
  6. 【AI视野·今日Robot 机器人论文速览 第六期】Fri, 11 Jun 2021
  7. linux 下wine 和plyaonlinux 安装以及卸载 (linux下运行windows软件的神器)
  8. win8.1除了应用界面的应用,其他系统程序都不能上网,包括IE
  9. 案例 以继承的方式实现解析频道节目单 c# 1614262275
  10. 断开式绑定ComboBox 关键命令 1201