上一节讲解了Python的数据类型和运算,本节将继续深刻,涉及Python的语句结构,至关于Python的语法,是之后编写程序的重要基础!编程
顺序语句很好理解,就是按程序的顺序逻辑编写程序便可,例如:ide
1 name = input('Please input your name:') 2 3 print('I am ', name)
Please input your name:MinuteSheep
I am MinuteSheep
上面代码展现了很标准的顺序语句,逻辑结构以下:工具
每当你的程序须要作出选择,就要使用条件语句了,条件语句经过判断条件的真假来决定执行的代码块,先来看条件语句的逻辑结构:spa
由上图能够看到,当条件为True是,执行语句1和语句2,当条件为False时,只执行语句2,这就是条件语句的迷人之处3d
细心的小伙伴可能已经发现上面的新名词:代码块。每一种编程语句都有其独特的代码块,在Python中,用缩进来控制代码块code
1 name = input('Please input your name:') 2 3 if name == 'MinuteSheep': 4 print('Your are MS') 5 print('Your are the best man in the world!') 6 else: 7 print('Your are not MS')
从上面的代码中能够明显的看出代码块的存在,第4行和第5行是条件为真的代码块,第7行是条件为假的代码块。blog
在Python中,用4个空格或者Tab来缩进,但要注意:整个程序中只能使用一种缩进格式,不能混着使用,不然会提示缩进错误。element
铺垫了这么多,也该引出Python条件语句的语法了吧。在Python中,条件语句使用 if......else...... 格式表示条件语句,其形式为:字符串
if 判断条件: 条件为真代码块 else: 条件为假代码块
其中,else为可选语句,条件为假什么都不执行的时候能够将其省略不写,看下例:input
1 name = input('Please input your name:') # 输入你的名字 2 3 if name == 'MinuteSheep': # 判断变量name是否为MinuteSheep 4 print('Your are MS') # 条件为真则执行 5 print('Your are the best man in the world!') # 条件为真则执行 6 else: 7 print('Your are not MS') # 条件为假则执行
Please input your name:MinuteSheep Your are MS Your are the best man in the world!
1 flag = True 2 3 if flag: # 判单flag是否为真,也能够写为 if flag == True: 4 print('flag is True') 5 # 条件为假时不须要执行任何代码,则else忽略不写
flag is True
有小伙伴确定会问,须要判断多个条件时岂不是要写多个 if 语句。其实在Python中,多条件的判断是有其独特的语法的,使用 if......elif......elif......else...... 便可,其形式为:
if 判断条件1: 条件为真代码块 elif 判断条件2: 条件为真代码块 elif 判断条件3: 条件为真代码块 else: 条件为假代码块
其中,else为可选语句,条件为假什么都不执行的时候能够将其省略不写,看下例:
1 num = 20 2 3 if num > 30: 4 print('>30') 5 elif num > 20: 6 print('>20') 7 elif num > 10: 8 print('>10') 9 else: 10 print('<=10')
>10
条件语句是能够嵌套的,在实际使用中应该灵活应用:
1 num = 20 2 3 if num > 10: 4 print('>10') 5 if num > 15: 6 print('>15') 7 if num > 18: 8 print('>18')
>10 >15 >18
条件为真的结果 if 判断条件 else 条件为假的结果
举例就明白了:
1 num = 1 if 1 > 2 else 5 2 ''' 3 至关于: 4 if 1 > 2: 5 num = 1 6 else: 7 num = 5 8 ''' 9 print(num) # 结果为 5
对于小代码块能够写在一行,更加美观,例如:
1 num = 100 2 3 if num == 100: print('Hello,world!')
虽然美观,但并不推荐你们使用
循环语句的出现,能够说是真正的解放人力,计算机的优点很大程度上依赖循环,先来看看循环语句的逻辑结构:
从上图能够看出,只要循环条件为真,那么循环语句就会被执行屡次,Python语言中存在两种循环,一块儿来看看吧
for循环主要起到遍历元素的做用,第一次接触可能以为怪怪的,不要担忧,用熟了你就会发现for循环很是方便,先来看个例子:
1 for num in range(10): # 遍历整数, 2 print(num) 3 4 for letter in 'MinuteSheep': # 遍历字符串 5 print(letter) 6 7 for element in ['Python', 'C', 'Java']: # 遍历列表 8 print(element)
0 1 2 3 4 5 6 7 8 9 M i n u t e S h e e p Python C Java
从上面代码能够看到for循环做为迭代工具使用至关强大。
for循环能够和else配合使用,else的代码块会在for循环结束后执行,例如:
1 for element in ['Python', 'C', 'Java']: # 遍历列表 2 print(element) 3 else: 4 print('Bye~')
Python
C
Java
Bye~
对于上面的代码,萌新确定还有疑问,为何是num、letter、element? 关键字 in 是什么?
num、letter、element是本身随便起的变量名,能够更改,换成 i、p随便什么都行,只要符合变量的命名规则就行,关键字 in ,就是在里面的意思,用代码解释更容易理解:
In [1]: 5 in range(10) Out[1]: True In [2]: 'MS' in ['MinuteSheep', 'Mike'] Out[2]: False In [3]: 'MS' in 'MinuteSheep' Out[3]: False In [4]: 'Mi' in 'MinuteSheep' Out[4]: True
经过这段代码应该就能够理解了
while循环是真循环,而不像for循环主要起遍历做用,其形式为:
while 循环条件: 条件为真代码块 else: 条件为假代码块
其中,else为可选语句,条件为假什么都不执行的时候能够将其省略不写,看下例:
1 num = 5 2 3 while num < 10: 4 print('条件为真,执行我') 5 num += 1 6 else: 7 print('条件为假,该执行我了')
条件为真,执行我
条件为真,执行我
条件为真,执行我
条件为真,执行我
条件为真,执行我
条件为假,该执行我了
无限循环:在Python中,使用 while True: 循环内容 便可实现无限循环:
1 num = 0 2 while True: 3 num += 1 4 print(num)
执行后就会发现屏幕上不停的跑数字而不会中止,想要中止按下键盘 Ctrl + C 来强制中止。
while循环也有简单语句组,一样也不推荐使用
循环语句之间也是能够嵌套的,两种循环语句既能够独立嵌套,也能够互相嵌套,看例:
1 # for循环嵌套 2 for i in range(10): 3 for p in range(5): 4 print(p) 5 6 # 能够看到输出了10次0,1,2,3,4
0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4
# while循环嵌套
1 num = 5 2 while num < 7: 3 while num < 6: 4 print('hello~~~') 5 num += 1 6 print('hi~~~~') 7 num += 1
hello~~~
hi~~~~
1 # while 和 for 循环嵌套 2 num = 5 3 while num < 8: 4 for i in range(3): 5 print(i) 6 num +=1 7 8 # 能够看到输出了3次0,1,2
0 1 2 0 1 2 0 1 2
以上就是循环的嵌套,在实际运用中应该灵活使用循环的嵌套,每每会带来事半功倍的效果!
接下来的三个关键字起到循环控制的做用,分别是break,continue,pass
中断循环,也称为跳出循环、结束循环,在循环过程当中,遇到break,就会跳出这个循环,看例:
1 num = 0 2 3 while True: 4 if num > 3: 5 print('我要跳出循环啦') 6 break 7 print('我正在循环') 8 num += 1
我正在循环
我正在循环
我正在循环
我正在循环
我要跳出循环啦
由上面代码能够看到,循环过程当中一但遇到break,就会跳出此循环,即便是无限循环也不顶用
继续循环,也成为跳过本次循环,在循环过程当中,遇到continue,会跳过本次循环,继续下一次循环,看例:
1 num = 0 2 3 while num < 5: 4 num += 1 5 if num > 3: 6 print('我要跳过一次循环啦') 7 continue 8 print('我正在循环')
我正在循环
我正在循环
我正在循环
我要跳过一次循环啦
我要跳过一次循环啦
由上面代码能够看到,有两次循环被跳过,只输出了3次“我正在循环”,也能够看到continue并不会跳出循环,循环还会继续执行
空语句实际上是有语句的,pass表明空语句,程序遇到pass什么也不会执行,仅仅是路过,有时为了保持程序的美观、完整性,一般会用pass占位,有时没想好程序怎么写,也用pass占位,什么都不写的话程序会报错,就好像写做文想好了小标题,却没想好内容写什么的时候,能够用pass代替内容,想好后再做修改。