预备小菜:Python入门之控制语句

控制语句是实现对程序流程的选择、循环和返回等进行控制,在之前代码示例中用到比较多的是if和for,分别是达到选择和循环效果。Python中用的控制语句比较简单,比较常见的除了上述两个,还有while也是一个循环控制语句。

简单的拿做饭打个比方,控制语句就是,你尝尝汤咸淡,咸了就加水,淡了就加盐。那么,尝尝汤的就是判断的条件,咸淡都是其中的一个可能情况,如果符合其中一个情况,那么就会执行后续操作,另外一种情况的操作就不会触发。当然也可以两种情况都不符合,那就是咸淡数刚刚好。那么两个操作都不会触发。

条件语句

If条件语句

了解if语句之前,先看这个网络上一则搞笑段子:

老婆给当程序员的老公打电话:下班顺路买十个包子,如果看到卖西瓜的,买一个。当晚老公手捧一个包子进了家门…老婆怒道:你怎么只买一个包子?老公甚恐,喃喃道:因为我真看到卖西瓜的了。

虽然这是一个笑话,但是在代码中是真的这样执行。生活中有很多结论是需要前提条件成立才可以得到的,如果不成立就是另外一个结果。

在Python中,条件语句是通过一个或者多个语句的结果决定是否继续执行后面的代码,用简单的流程图演示执行过程如下。

代码规范如下所示:

if 判断条件:       
  执行语句    
else:(可选)        
  执行语句

如果选择的情况有很多,还可添加选项:

if 判断条件:       
  执行语句
elif 判断条件: #可以多个elif 代码块 
  执行语句   
else:(可选)  
  执行语句


if 后面跟着的判断条件值只有两个结果,要么True,要么是False,也就是说要么执行要么不执行。但是同一个判断条件,可能由于条件中参数变化而结果不同。判断条件也可以是函数的调用,但是函数的返回值需要是bool类型。

在判断语句中的时候,条件中可以使用运算符,比如说两个条件同时成立,才会执行下面语句,两个条件的“与”是使用and来表示,也可以是两个条件中满足一个即可,两个条件的“或”是使用or来表示。

a = 2
b = 1
# 两个条件必须都成立才是True
if a >= 1 and b < 2:
print("符合要求")
# 两个条件成立任何一个就是True
if a == 1 or b == 1:
print("完美符合要求")
else:
print("不符合要求")
#代码结果:
符合要求
完美符合要求

熟悉C语言或者Java的同学知道,其实and表示的就是“&&”,or表示的“||”,但Python中取消了这两个符号。

如果把上述的第二个if改成elif,那么代码运行的结果是什么呢?

a = 2
b = 1
# 两个条件必须都成立才是True
if a >= 1 and b < 2:
print("符合要求")
# 两个条件成立任何一个就是True
elif a == 1 or b == 1:
print("完美符合要求")
else:
print("不符合要求")
#代码结果:
符合要求

为什么第二个条件也成立,代码却没有执行呢?是因为if和elif是一个代码块,从代码顺序上如果第一个条件成立,则后续的不会执行了。而前一个实例是两个if,其实是两个代码块,第一个和第二个不相关。

循环语句

在之前的示例中,出现几次的for语句就是循环语句,它是根据条件是否成立来一次或者多次执行代码,流程图演示如图所示。

Python中除了for循环,还有一种是while循环。for循环可以循环任何序列的对象,比如说列表、元组、字符串等等。while循环是用于执行需要重度执行的代码,只要条件成立就会一直执行。

for循环遍历字符串

for letter in 'hello':
print(letter)
#代码结果:
h
e
l
l
o

for循环遍历容器

words = ['hello', 'world', 'python', 'data']
for word in words:
print(word)    
#代码结果:
hello
world
python
data

遍历特定范围的数字也是一个常见的场景,Python也提供了一个内置函数range()。可以创建一个整数列表,range()中三个参数,分别是start,stop和step,理解为开头和结尾分别是多少,但是不包括是stop,相当于前闭后开的集合,step步长是多少,默认步长是1。如参数只有一个,则是默认为stop,start为0。

for循环遍历数字,从0开始,3结束(不包括3)

for i in range (3):     
 print(i)
#代码结果:
0
1
2

for循环遍历数字,从2开始(包括),5结束(不包括)

for i in range (2,5):      
print(i)
#代码结果:
2
3
4

for循环遍历数字,从2开始(包括),7结束(不包括),步长为2

for i in range (2,7,2):      print(i)
#代码结果:
2
4
6

range ()函数的功能很类似Java语言中的for(int i=0;i<5;i++),但是比起来相对更加简洁一些。

下面来看下while循环的使用。

while循环

num = 0
while num < 3:
print(num)
num = num + 1
print("循环结束")
#代码结果:
0
1
2
循环结束

只要是num<3的条件成立, 这个循环一直会走下去的。但是有时候使用while循环会配合两个比较重要的命令continue和break来使用。continue 是跳过该次循环继续执行下次循环,break 是直接退出循环不在执行下一次循环,而是执行后面的语句。

while循环使用 continue

num = 0
while num < 5:
if num % 2 == 0:        continue
num = num + 1      print(num)
print("循环结束")
#代码结果:
1
3
5
循环结束

while循环使用 break

num = 0
while num < 5:
if num % 2 == 0:       
 break
num = num + 1     
 print(num)
print("循环结束")
#代码结果:
循环结束

对于基础的数据分析来说,学会了if和for循环基本就够用了, 包括自己写爬虫,处理大多数的数据,可以完全没有的问题。

收录于合集 ##Python数据分析—以沪漂小窝为例

7个

上一篇预备小菜:Python入门之数据结构下一篇预备小菜:Python入门之异常

展开阅读全文

页面更新:2024-04-25

标签:步长   语句   遍历   小菜   函数   入门   条件   两个   结束   情况   代码   数字

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top