本文随后发于个人博客站,题图来源NASA
上次我们提到,我们将讲选择语句。其实更加准确的表述是判断选择语句,在此小的给各位读者道歉了。
什么是选择语句
选择语句就是当满足一定条件则执行特定的代码块。在C语言里面有if-elif-else和switch-case两种。
python里面只有一种,那就是if-elif-else这种,不像C语言有switch-case语句。如果习惯了switch-case语句的话,可以试着用字典来处理。
有一个这样的传言,说是python的创始人觉得像C语言里面的各种语句都是由{}区分,实在太丑了,决定在新的语言里面不用花括号。于是就有了python。
python使用缩进和空行区分代码块。python官方建议使用4个空格进行区分。在实际中,人们也使用一个tab来执行缩进。我们使用的VScode针对python,默认是将一个tab转化为4个空格。接下来的示例中,我都使用tab而不是4个空格。但在一个python脚本里面,缩进通常只能用一种,混用tab和空格会造成脚本运行时出现各种神奇的问题。
举个栗子
python里面,if-elif-else的结构如下:
if 条件语句:
执行语句
elif 条件语句:
执行语句
else:
执行语句
其中,elif和else都是可以被省略的。但一般来说,有elif的话,最好跟上else,可以写返回一个空值,这样阅读性会高一点。
整个选择语句有以下三个特点:
if与条件语句中有一个空格
条件语句结束后有一个冒号
执行语句前有4个空格(或一个tab)
以这段代码为例,第一行是指定编码格式是utf-8。这行代码我们以后将不再解释
第3行是一段赋值语句
从第4行到第10行则是选择语句的本体。
第9行的+=这段,如果学过C语言的话,是比较容易理解的。但如果没学过的话,我们下面将简介一下。
运算符
自己运行一下,便会明白
num2 += 1
和
num2 = num2 + 1
是等价的
-=也是同理
/代表除法(在python3里面不需要考虑数据类型,python2里面需要考虑)
//代表有余数的除法,只显示结果不显示余数
%表示求模(在结果是正数的情况下,求模求余是等价的,结果是负数的情况下才有差别。如果以后遇到这类问题,需要注意一下)
==是判断两侧是否相等
!表示相反,即!=表示不等于,!
条件语句的结果是布尔型变量的值,即false和true,这两个值也可以当作0(false)和1(true)。
这就说明,如果一个值是1或者0的变量,可以直接在if后面被当作一个布尔型变量来执行。在数组部分我们将会详细讲解这种方法。
如果要求同时比较两个关系,可以使用and和or。(是的,python里面连接两个关系不用&或者|)
代码规范
一个数行或者十几行的代码,不用任何特殊的标注,大家都能够知道写的是什么,但如果是一个数十行甚至上百行的代码,没有任何的提示会造成很大问题。
最常见的提示就两个,变量名和注释。
注释有两种写法,一种是以#开头,只能注释一行
另一种是两组三个单引号或双引号组成,在引号里面的都算注释部分。例如
'''
注释
'''
变量名又有以下的规则
只能包含数字、字母、下划线,变量名可以以下划线或者字母开头。
变量名不可以使用空格,但是可以使用下划线代替空格
不要用python关键字来命名。简单来说,就是你新建变量时,弹出的自动补全部分不要使用。
变量名应该简洁而又描述性,可以使用简写
不要使用小写的l和o,容易与1和0混淆
建议使用小写而不是大写
除了注释和变量命名之外,代码还应该遵循以下规则
每行代码不要超过79字符,每行注释不要超过72字符。我们将会在函数部分讲解超出之后的解决方法
不同模块之间使用空行隔开,但不要过多的使用空行,避免难以区分。
运算符前后最好有一个空格,方便阅读
下节讲什么
下期我们将讲解循环语句、输入语句、函数,并举例说明python在大数运算中的优势(不是大数据哦)
我是乙酰水杨酸,随手写点硬科技
领取专属 10元无门槛券
私享最新 技术干货