Python学习-条件控制与循环结构!
Python学习-条件控制与循环结构!
支持
- if,- if...else,- if...elif ...if
- while
- for ... in...
- continue,- break
- pass
没有switch-case;没有普通的for x;y;z条件循环。
条件控制
在Python程序中,用if语句实现条件控制。
语法格式:
- if <条件判断1>:
 
- <执行1>
 
- elif <条件判断2>:
 
- <执行2>
 
- elif <条件判断3>:
 
- <执行3>
 
- else:
 
- <执行4>
 
注意语句后面的冒号:。像经典的C、Java都是以花括号来区分代码块,但是Python没有使用花括号表示,而是缩进,所以一定需要了解它们的语法区别。
示例:
- age = 3
 
- if age >= 18:
 
- print('adult')
 
- elif age >= 6:
 
- print('teenager')
 
- else:
 
- print('kid')
 
循环控制
Python里有2种循环结构:
1、for...in
2、while
注意Python里没有C语言里经典的for循环结构,也没有PHP里的foreach结构。
for...in
for...in循环会依次把list或tuple中的每个元素迭代出来,示例:
- names = ['Michael', 'Bob', 'Tracy']
 
- for name in names:
 
- print(name)
 
输出:
- Michael
 
- Bob
 
- Tracy
 
注意for语句后面的冒号:。
再看个求和的例子:
- sum = 0
 
- for x in range(101):
 
- sum = sum + x
 
- print(sum)
 
输出:
- 5050
 
注意的是,range(101)生成的是0-100的整数序列,不是到101。
对于字典(dict),for...in循环迭代的是key,而不是value:
- dict = {"name":"yjc", "age":18}
 
- for x in dict:
 
- print(x, dict[x])
 
输出:
- name yjc
 
- age 18
 
while
while循环是其它语言里很经典的循环结构,Pyhton里同样支持。
- sum = 0
 
- n = 0
 
- while n < 101:
 
- sum = sum + n
 
- n = n + 1
 
- print(sum)
 
while循环里只要条件满足,就不断循环,条件不满足时退出循环。需要注意while语句后面的冒号:。
循环控制语句
循环里如果我们想终止本次循环,可以使用continue;如果想终止整个循环,则使用break。
看看下面这个例子:
- sum = 0
 
- n = 0
 
- while n < 5:
 
- n = n + 1
 
- if n == 3:
 
- break #试试替换成continue
 
- sum = sum + n
 
- print(sum)
 
输出:
- # 使用break:
 
- 3
- # 使用continue:
 
- 12
 
空语句
Python里使用pass表示空语句,即啥也不做。
- if age >= 18:
 
- pass
 
在C语言里等同于:
- if( age>=18 ){
- }
 
pass语句什么都不做,那有什么用?实际上pass可以用来作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来。
因为在其它语言里有花括号,如果花括号里面为空,代表啥也不做,但Python没有花括号,缺少了pass,代码运行就会有语法错误。
Switch/Case模拟
Python没有switch-case,过去写C习惯用Switch/Case语句,官方文档说通过if-elif实现。所以不妨自己来实现Switch/Case功能。
1、通过字典实现
- def foo(var):
 
- return {
 
- 'a': 1,
 
- 'b': 2,
 
- 'c': 3,
 
- }.get(var,'error') #'error'为默认返回值,可自设置
 
2、通过匿名函数实现
- def foo(var,x):
 
- return {
 
- 'a': lambda x: x+1,
 
- 'b': lambda x: x+2,
 
- 'c': lambda x: x+3,
 
- }[var](x)
 
学习资料见知识星球。
以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。
快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利!
更多技巧, www.excelbook.cn
欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;
1、价值上万元的专业的PPT报告模板。
2、专业案例分析和解读笔记。
3、实用的Excel、Word、PPT技巧。
4、VIP讨论群,共享资源。
5、优惠的会员商品。
6、一次付费只需129元,即可下载本站文章涉及的文件和软件。

