python 设计及调试的一些小技巧
在“笨办法学习python”中介绍了一些设计函数以及调试技巧:
参考网址:http://www.jb51.net/shouce/Pythonbbf/latest/ex36.html
If 语句的规则¶
- 每一个“if 语句”必须包含一个 else.
- 如果这个 else 永远都不应该被执行到,因为它本身没有任何意义,那你必须在 else 语句后面使用一个叫做 die 的函数,让它打印出错误信息并且死给你看,这和上一节的习题类似,这样你可以找到很多的错误。
- “if 语句”的嵌套不要超过 2 层,最好尽量保持只有 1 层。 这意味着如果你在 if 里边又有了一个 if,那你就需要把第二个 if 移到另一个函数里面。
- 将“if 语句”当做段落来对待,其中的每一个 if, elif, else 组合就跟一个段落的句子组合一样。在这种组合的最前面和最后面留一个空行以作区分。
- 你的布尔测试应该很简单,如果它们很复杂的话,你需要将它们的运算事先放到一个 变量里,并且为变量取一个好名字。
如果你遵循上面的规则,你就会写出比大部分程序员都好的代码来。回到上一个练习中,看看我有没有遵循这些规则,如果没有的话,就将其改正过来。
Warning
在日常编程中不要成为这些规则的奴隶。在训练中,你需要通过这些规则的应用来巩固你学到的知识,而在实际编程中这些规则有时其实很蠢。如果你觉得哪个规则很蠢,就别使用它。
循环的规则¶
- 只有在循环永不停止时使用“while 循环”,这意味着你可能永远都用不到。这条只有 Python 中成立,其他的语言另当别论。
- 其他类型的循环都使用“for 循环”,尤其是在循环的对象数量固定或者有限的情况下。
调试(debug)的小技巧¶
- 不要使用 “debugger”。 Debugger 所作的相当于对病人的全身扫描。你并不会得到某方面的有用信息,而且你会发现它输出的信息态度,而且大部分没有用,或者只会让你更困惑。
- 最好的调试程序的方法是使用 print 在各个你想要检查的关键环节将关键变量打印出来,从而检查哪里是否有错。
- 让程序一部分一部分地运行起来。不要等一个很长的脚本写完后才去运行它。写一点,运行一点,再修改一点。
python 设计及调试的一些小技巧的更多相关文章
- http://www.yyne.com/python使用-urllib-quote-进行-url-编码小技巧/
http://www.yyne.com/python使用-urllib-quote-进行-url-编码小技巧/
- Python对list操作的一些小技巧
Python对list操作的一些小技巧 由于要搞数学建模,于是从熟悉已久的C++转战Python.虽然才上手,但是Python的语法糖就让我大呼过瘾.不得不说相比于C/C++,Python对于数据的 ...
- 谈谈UI设计的6个实用小技巧
从事UI设计的朋友们,肯定知道我们在做UI设计时,其实是可以通过一些小技巧来帮我们设计的界面更加的漂亮.实用.交互性强,用户体验更好.今天的话,上海艾艺在互联网上面搜寻了几个小技巧.在这里跟大家一起来 ...
- Eclipse调试的一些小技巧
不要使用System.out.println作为调试工具 启用所有组件的详细的日志记录级别 使用一个日志分析器来阅读日志 1.条件断点 想象一下我们平时如何添加断点,通常的做法是双击行号的左边.在de ...
- 零基础python教程-用Python设计你的第一个小游戏
学以致用,既然学习了python就要让它来实现我们想做的东西,这次咱就用python来做个简单小游戏,在实践中不断成长. 1.游戏代码: 输入数字,来猜测原作者心中所想的数字,猜中夸你,猜不中不夸你, ...
- Python中Template使用的一个小技巧
Python中Template是string中的一个类,可以将字符串的格式固定下来,重复利用. from string import Template s = Template("there ...
- 用Toast来增加调试效率的小技巧
import android.content.Context; import android.widget.Toast; /** * Created by apple on 10/7/15. */ p ...
- python 数据结构中被忽视的小技巧
一.一个包含N个元素的字符串.元组.序列.以及任何可迭代对象均可以拆分成N个单独的“变量” 1.字符串的拆分 #字符串 In [10]: s="abdefg" In [11]: o ...
- Python最好IDE:Pycharm使用小技巧总结,让你写代码更为舒适
随机推荐
- 架构师成长之路6.1 DNS理论
点击返回架构师成长之路 架构师成长之路6.1 DNS理论 1.DNS一些基本概念 ① FQDN:Full Qualified Domain Name,完全限定域名,即每个域在全球网络都是唯 ...
- 监控(3)进程通用shell
#! /bin/bash proc_name="beam.smp" #进程名 proc_num() #查询进程数{ num=`ps -ef | grep $proc_name | ...
- ECMAScript 6 -- 数组的解构赋值
模式匹配:只要等号两边的模式相同,左边的变量就会被赋予对应的值. let [a, b, c] = [1, 2, 3]; 嵌套数组进行解构: let [foo, [[bar], baz]] = [1, ...
- centos6.5 开机自动挂载硬盘
1. 查看硬盘信息 输入命令查询 blkid 查找新添加的硬盘的UUID信息,并且拷贝. 2.编辑系统分区表,加入硬盘自动挂载信息 2.1 打开系统分区表 vim /etc/fstab 进入文件编辑模 ...
- A1035. Password
To prepare for PAT, the judge sometimes has to generate random passwords for the users. The problem ...
- 【洛谷P3919】可持久化数组
题目大意:需要维护一个长度为 N 的数组,支持在历史版本上单点修改和单点查询. 题解:显然,如果直接暴力维护的话会 MLE.因此,采用线段树进行维护,使得空间复杂度由 \(O(mn)\) 降至 \(O ...
- (转)Java程序员的面试经历和题库
背景:最近我在找工作,前期就像打了鸡血的一样,隔一段时间没有面试,就又松懈了下来,看到别人写的面经,感觉就像打脸一般,以后要多多总结前人的经验,时刻保持压力状态才是. 作者:nuaazhaofeng2 ...
- css3硬件加速
你知道我们可以在浏览器中用css开启硬件加速,使GPU (Graphics Processing Unit) 发挥功能,从而提升性能吗? 现在大多数电脑的显卡都支持硬件加速.鉴于此,我们可以发挥GPU ...
- css实现单选效果,看看有趣的tabIndex
以前我实现单选变色几乎都是用js实现的,今天看到有个css属性可以直接实现单选变色,很开心啊~ 话不多说看效果 实现的代码如下 下面我们看看用focus实现别的有趣的效果 话不多说看效果 实现的代码如 ...
- Codeforces Round #517 (Div. 2, based on Technocup 2019 Elimination Round 2) D. Minimum path
http://codeforces.com/contest/1072/problem/D bfs 走1步的最佳状态 -> 走2步的最佳状态 -> …… #include <bits/ ...