当我们写程序的时候,我们首要思考的问题就是,程序接收什么样的输入,产生什么样的输出。控制用户的输入,进行一系列处理,并最终得到一个输出,这中间的过程就叫做流程控制。我们将会在今天的课程里接触一下这个概念,在下一篇里进行更加详尽的介绍。
流程控制
我们刚才介绍了流程控制的概念。那么,究竟如何进行流程控制呢?
原作者在这里写的不好。我举个例子。
假设我们的程序要判断一下我们输入的密码是不是正确的。我们会先接收用户的输入,然后拿这个输入的值和另真正的密码进行比较,最后根据比较的结果告诉用户他到底是输入正确还是输入错误。如果输入正确,则提示‘输入正确’,如果输入错误,则提示‘密码错误’。
这里,诸如‘判断密码是否正确’‘如果正确’这些逻辑判断机制(逻辑推理流程),就是流程控制。
布尔类型(bool,boolean)
相信大家在数学课上已经学过一些关于一个数是不是比另一个大、两个数是不是相等之类的判断。在流程控制中,这些‘判断’操作会经常被用到。判断的结果,无非是‘真’(True)或者为‘假’(False)。True或者False既是布尔类型变量可以取的值。需要注意的是,在python里,‘True’或者‘False’的首字母必须要大写。
让我们看看,python语法中的一些基本判断操作,以及他们会返回什么样的布尔类型:
以上的判断操作既可以用来判断数字,也可以用来判断字符串。再次强调,python对大小写敏感,这也意味着如果两个单词字母相同但大小写不同,也会被判断为不一样的单词。
下面我们来试试看:
我们可以看到,’Null-Byte’与”null-byte”并不一样。而当我们把”Null-Byte”转换为全部小写的时候,他们就相等了。
下面来试试数字之间的比较:
这没什么好说的。下面我们来看看 != 操作符:
我们拿1337与42进行比较。显然,‘42与1337不相等’ 这件事是真(True)的,所以它返回了True.
我们再拿之前的”Null-Byte”与小写的”null-byte”相比较,他们也是不等的,所以‘他们不相等’这件事返回了True.
最后我们来试试大于等于。
我们可以发现,无论是‘大于’还是‘相等’,都会返回True。
也许你现在会觉得这些东西像小孩子玩过家家一样并没有卵用,但马上你就会意识到这些东西的重要性。这些就是流程控制的基础,也是我们脚本程序的骨骼(框架)。
练习
构建你自己的比较语句,想想他们为什么会返回True或者False.多做实验,多敲代码。
PS:原作者的配图很有意思:
======================================================================
原文系列链接:http://null-byte.wonderhowto.com/how-to/python-training/