python选择语句都有哪些?

Python012

python选择语句都有哪些?,第1张

Python中选择语句主要有3种形式,分别为if语句、if…else语句和if…elif…else多分支语句。

if…elif…else语句

但有时候我们需要很多判断,并不是非黑即白,这时用户就需要从多个选项中选择一个。在开发程序时,如果遇到多选一的情况。

则可以使用if…elif…else语句,该语句是一个多分支选择语句,通常表现为“如果满足某种条件,进行某种处理,否则,如果满足另一种条件,则执行另一种处理……”。

if注意:

1.比较表达式无论简单还是复杂,结果必须为Boolean类型。

2.if语句控制的语句体只有如果只有一条语句,大括号可以省略;如果是多条语句则不能省略,建议永远不要省略。

如:if(比较表达式)

语句

3.一般来说:有左大括号就没有分号,有分号就没有左大括号。

如:if(比较表达式){........}, if(比较表达式)。

控制语句:

if语句,当条件成立时运行语句块。经常与else, elif(相当于else if) 配合使用。

for语句,遍历列表、字符串、字典、集合等迭代器,依次处理迭代器中的每个元素。

while语句,当条件为真时,循环运行语句块。

try语句,与except,finally配合使用处理在程序运行中出现的异常情况。

class语句,用于定义类型。

def语句,用于定义函数和类型的方法。

pass语句,表示此行为空,不运行任何操作。

assert语句,用于程序调试阶段时测试运行条件是否满足。

with语句,Python2.6以后定义的语法,在一个场景中运行语句块。比如,运行语句块前加密,然后在语句块运行退出后解密。

yield语句,在迭代器函数内使用,用于返回一个元素。自从Python 2.5版本以后。这个语句变成一个运算符。

raise语句,制造一个错误。

import语句,导入一个模块或包。

from … import语句,从包导入模块或从模块导入某个对象。

import … as语句,将导入的对象赋值给一个变量。

in语句,判断一个对象是否在一个字符串/列表/元组里。

1、If语句详解与实践之前已经用过很多次If函数了,这边我再做一个简单介绍和一些新内容的补充吧,If函数的底层逻辑就是用来判断,如果满足条件则执行下面的语句。基本的语法逻辑如下,注意记得写冒号及代码前的缩进:if 条件:代码1else:代码21234其中两个注意点,之前也提过了,就是缩进与英文格式的标点符号,有的时候,你忘记缩进或者冒号是中文格式的时候,程序就会报错,不过Pycharm和Spyder都会在那一行提醒你这一行的写法有问题,所以倒也不用太担心。现在我们再来看看之前写过这个代码,是不是会感觉清晰很多呢。score = 100year = 2018if (score <0) and (year == 2018):print('录入数据库')else:print('不录入数据库')123456我们下面再补充些内容,其实掌握上面的内容已经完全足够了,下面的只是作为一个知识点的补充。比如你考试考了80分,最简单的是:score = 85if score >= 60:print('及格')else:print('不及格')12345我相信现在大家看这个代码已经完全没有问题了,输出肯定是‘及格’。那如果我除了想判断是否及格外,还想看它是否优秀(大于80分),则输出‘优秀’,该怎么弄呢。score = 55if score >= 80:print('优秀')elif (score >= 60) and (score <80):print('及格')else:print('不及格')1234567这边唯一的一个不同,就是中间加入了一个elif,这个其实就是elseif的缩写,用来提供多个结果使用的,其实这个我做项目的时候基本没有用过,大家简单了解下即可。2、For语句详解与实践For语句之前有提到过一次,它的重要程度可以说仅次于If语句了,它的底层逻辑是循环,其实While的底层逻辑是循环,不过还是For用的更加普遍些。For语句的常见使用格式为,注意记得写冒号及代码前的缩进:for i in 区域:代码12先举个之前讲列表的时候讲过的例子:class1 = ['丁一', '王二麻子', '张三', '李四', '赵五']for i in class1:print(i)123用大白话来说就是:列表class1 = ['丁一', '王二麻子', '张三', '李四', '赵五']对于class1中的所有元素i:我们都把它打印输出出来123这个输出代码为:丁一王二麻子张三李四赵五12345这个i可以换成任何东西,比如你换成j,换成一个字符串,只要和下面的print()里面的内容匹配即可。比如我们可以写:class1 = ['丁一', '王二麻子', '张三', '李四', '赵五']for haha in class1:print(haha)123这样输出的结果其实是一样的。For语句还通常与range()函数合用,range函数的话其实就是一个类似于list的东西,只不过它可能更像list的长度,你想循环多少次,在range的括号里填写几就可以,比如我写for i in range(3),那么它就是循环3次:for i in range(3):print('hahaha')12这个它就会输出三行‘hahaha’。我担心大家可能会对这个for i in range(3)中的i还有疑惑,刚刚i不是代表列表里的每一个元素吗,这边这个i又是什么意思呢?这边我给大家做一个偷懒的总结:(1)对于"for i in 区域"来说,如果说这个区域是一个列表,那么那个i就表示这个列表里的每一个元素;(2)对于"for i in 区域"来说,如果说这个区域是一个range(n),那么那个i就表示0到n -1这n个数字,之前提到过,python中序号都是从0开始的,所以这边也是从0开始,到n - 1结束。(3)对于"for i in 区域"来说,如果说这个区域是一个字典,那么i表示的就是字典的中的键(了解即可,很长一段时间用不到)还有个非常重要的知识点:for i in range(5)的话,它的确会循环5次,但要注意,在python中,第一个元素的序号其实是0,所以如果我们输入如下代码:for i in range(5):print(i)12那么输出的结果是从0开始的,也就是0到40123412345这时候你可能要问,这玩意有什么用?下面我就以舆情监控中的实战来给大家讲解下for语句在爬虫实战中的应用:title = ['标题1','标题2','标题3','标题4','标题5']for i in range(len(title)): #len(title)表示一个有多少个新闻,这里是5print(str(i+1) + '.' + title[i]) #这个其实把字符串进行一个拼接123上面这几行代码已经很大程度就是你做项目实战用到的代码了,暂时看着有点晕也没有关系,我在教学视频里会详细介绍下的。我先用大白话来解释下这几行代码在干嘛:爬到了一些新闻标题,放到了title这个列表里用len(title)来获取一共有多少条新闻,并利用for和range语句来进行循环:打印输出新闻标题,并且在前面加上序号123输出结果如下图所示:其中有几个小注意点,(1)range(len(title))这边就相当于range(5),因为len(title)就等于5,所以for i in range(len(title))就是循环5次,这里的i就表示数字0-4。(2)为什么要写str(i + 1),因为我们要标序号,'标题1’是字符串形式的,而i是数字,我们讲过数字和字符串不能直接相加,所以要用str函数进行下转换。(3)至于为什么不是str(i),而是str(i + 1)。是因为之前讲列表的时候提到过,在编程中,第一个序号都是0,比如之前列表里讲过的class1[0]表示“丁一”一样,这边如果写str(i)的话,那么输出的第一个序号就是“0.标题1”了。(4)因为这里的i就表示数字0-4,title[i]的话,表示列表中的第i+1个元素,所以title[0]的话就表示第1个元素,title[4]就表示第5个元素。通过for循环和range()函数和len()函数的联合使用,可以同时打印多个列表中的元素,代码如下:# 在实战中的应用(可以同时打印多个列表中的内容)title = ['标题1', '标题2', '标题3', '标题4', '标题5']href = ['网址1', '网址2', '网址3', '网址4', '网址5']for i in range(len(title)): # len(title)表示一个有多少个新闻,这里是5;这里的i就表示数字0-4print(str(i+1) + '.' + title[i]) # 这个其实把字符串进行一个拼接print(href[i])1234563、While语句详解与实践While的底层逻辑也是循环,它和For的特点不一样,最大的区别是For知道循环次数,而While的话则是不清楚循环次数。其使用格式为,注意要写冒号以及代码前的缩进:while 条件:要执行的的代码12举个例子给大家看下:a = 1while a <3:print(a)a = a + 1 #或者写成 a += 1 1234它白话的意思就是:首先将1赋值给a当 a 小于3的时候:打印输出aa 在原来的基础上加上11234a一开始等于1,满足小于3的条件,会打印输出1,然后a加上1等于2,此时a仍然小于3,所以仍然会执行打印输出的命令,此时打印输出2,然后a在2的基础上加上1等于3,此时a已经不满足小于3的条件了,那么循环此时便终止了。最后输出如下:1212大家可以试着把数字3换成别的数试试看。其实我们之后大多情况下用到While的时候,就是让While来一直循环(如果用for i in range(n),无论n多大,那么早晚都有结束的时候),这个在爬虫实战中的具体应用是:当每爬完一次,就自动进行下一次爬取,实现24小时不间断爬取。那么While如何能实现一直循环呢?具体的方法其实很简单,那就用while True进行永久循环。while True:代码块12给大家截个图看下,下面这张图就是最终的代码效果,这个while True就是舆情监控系统实现24小时不间断爬取的秘诀,有个注意点,这个True得大写首字母,之后讲到的时候再详细介绍:大家如果想停止while True的不停的循环,可以在点击右上角的红色终止按钮即可。我当初自己学的时候,写过这么两行代码