栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

python学习记录(五):控制语句——选择结构、循环结构、推导式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python学习记录(五):控制语句——选择结构、循环结构、推导式

文章目录
  • 1. 选择结构
    • 1.1 单分支
    • 1.2 双分支
    • 1.3 多分枝
    • 1.4 选择嵌套
  • 2. 循环结构
    • 2.1 while循环
    • 2.2 for 循环
    • 2.3 相关语句
  • 3.循环代码优化
  • 4. 使用zip()进行并行迭代
  • 5. 推导式创建序列
    • 5.1 列表推导式
    • 5.2 字典推导式
    • 5.3 集合推导式
    • 5.4 生成器推导式(用于生成元组)

1. 选择结构 1.1 单分支
if 条件表达式:
	语句 / 语句块
  • 条件表达式:逻辑表达式、关系表达式、算术表达式等,不能有赋值操作。
  • 语句/语句块:多条语句缩进必须对齐。
1.2 双分支
if 条件表达式:
	语句1 / 语句块1
else:
	语句2 / 语句块2
  • 三元条件运算符
# 条件为真时的操作 if 条件表达式 else 条件为假时的操作

 a = input("请输入一个数字:")
 print(a if int(a)<10 else "请重新输入!")
1.3 多分枝
if 条件表达式1:
	语句1 / 语句块1
elif 条件表达式2:
	语句2 / 语句块2
...

elif条件表达式n
	语句n / 语句块n
[else:
	语句n+1 / 语句块n+1
]
  • 多个条件表达式之间必须存在逻辑关系,不能颠倒顺序;
1.4 选择嵌套
if 表达式1:
	语句块1
	if 表达式2:
		语句块2
	else:
		语句块3
else:
	if 表达式4:
		语句块4

2. 循环结构 2.1 while循环
while 条件表达式:
	循环体语句
2.2 for 循环
for 变量 in 可迭代对象:
	循环体语句
  • 可迭代对象:序列、迭代器对象、生成器对象、文件对象;
  • range 对象:是一个迭代器对象,range(start, end, [step]) (不包含end);
2.3 相关语句
  • break语句:用于结束循环,嵌套循环中,只能跳出最近一层循环;
  • continue语句:结束本次循环,继续下一次循环,在嵌套循环中,只对最近一层循环起作用;
  • else语句:while 和 for 循环可以附带else语句,如果没有被break语句结束,则会执行else子句,否则不执行。;

3.循环代码优化
  • 三个原则
    1. 尽量减少循环内部不必要的计算;
    2. 嵌套循环中,尽量减少内部循环的计算,尽可能向外提;
    3. 局部变量查询较快,尽量使用局部变量;
  • 其他优化手段
    1. 连接多个字符串,使用join()而不使用’ + ';
    2. 列表进行元素插入和删除,尽量在列表尾部操作;

4. 使用zip()进行并行迭代
  • zip()函数能够对多个序列进行并行迭代,zip()函数在最短序列“用完”时就会停止;
names = ('a', 'b', 'c')
nums = ('1', '2', '3', '4')

for name,num in zip(names, nums)    # 会只循环三次
	print("{0}--{1}".format(name, num))

5. 推导式创建序列 5.1 列表推导式
[表达式 for item in 可迭代对象]
或者:
[表达式 for item in 可迭代对象 if 判断语句]
[x*2 for x in range(1, 5)]
# [2, 4, 6, 8]

[x*2 for x in range(1, 20) if x%5 == 0]
# [10, 20, 30]
5.2 字典推导式
{key_expression : value_expression for 表达式 in 可迭代对象}
# 统计文本中字符出现次数
my_text = 'i love you'
char_count = {c : my_text.count(c) for c in my_text}
5.3 集合推导式
{表达式 for item in 可迭代对象}
或者:
{表达式 for item in 可迭代对象 if 判断语句}
5.4 生成器推导式(用于生成元组)
(表达式 for item in 可迭代对象)
或者:
(表达式 for item in 可迭代对象 if 判断语句)
  • 一个生成器只能运行一次,第二次运行时,生成器内的数据已经被清空;
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/991858.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号