Python基础05
学习05
for循环和可迭代对象遍历 for循环通常用于可迭代对象的遍历。for循环的语法格式如下: for 变量 in 可迭代对象: 循环体语句
例子: for x in (20,30,40): print(x*3)
for y in “abcdef”: print(y)
for y in list(“abcdef”): print(y)
d={‘name’ : ‘gaoqi’, ‘age’ : 18, ‘address’ : ‘西三旗001号楼’} for x in d: #遍历字典所有的key print(x)
for x in d.keys(): #遍历字典所有的key print(x)
for x in d.values(): #遍历字典所有的value print(x)
for x in d.items(): #遍历字典所有的’键值对’ print(x)
range对象 range对象是一个迭代器对象,用来产生指定范围的数字序列。格式为:range(start, end, step) 生成的数值序列从start开始带end结束(不包含end)。若没有填写start,则默认从0开始。step是可选的步长,默认为1。 例如: sum_all = 0 #1-100所有数的累加和 sum_even = 0 #1-100偶数的累加和 sum_odd = 0 #1-100奇数的累加和 for num in range(101): sum_all += num if num%2 == 0: sum_even +=num else: sum_odd += num print(“1-100所有数的累加和”, sum_all) print(“1-100偶数的累加和”, sum_even) print(“1-100奇数的累加和”, sum_odd)
嵌套循环 一个循环体内可以嵌人另一个循环,一般称为“嵌套循环”,或者“多重循环”。 例子1:99乘法表: for m in range(1,10): for n in range(1,m+1): print("{0}{1} = {2}".format(m,n,(m*n)),end="\t") print() #换行 结果: 例子2:使用列表和字典存储表格的数据,并且打印薪水大于15000。
break语句 break语句可用于while和for循环,用来结束整个循环。当有嵌套循环时,break语句只能跳出最近一层的循环。 continue语句 continue语句用于结束本次循环,继续下一次。多个循环嵌套时,continue也是应用于最近的一层循环。 例子:要求输入员工的薪资,若薪资小于0则重新输入。最后打印录入员工的数量和薪资明细,以及平均薪资。
else语句 while、for循环可以附带一个else语句(可选)。如果for、while语句没有被break语句结束。则会执行else子句,否则不执行。语法格式如下: while 条件表达式: 循环体 else: 语句块
或者: for 变量 in 可迭代对象: 循环体 else: 语句块
例子:
循环代码优化 虽然计算机越来越快,空间也越来越大,我们仍然要在性能问题上“斤斤计较”。编写循环时,遵守下面三个原则可以大大提高运行效率,避免不必要的低效计算: 1、尽量减少循环内部不必要的计算。 2、嵌套循环中,尽量减少内层循环的计算,尽可能向外提。 3、局部变量查询较快,尽量使用局部变量。 其他优化手段: 1、连接多个字符串,使用join()而不使用+。 2、列表进行元素插入和删除,尽量在列表尾部操作。
使用zip()并行迭代 我们可以通过zip()函数对多个序列进行并行迭代,zip()函数在最短序列“用完”时就会停止。 可以不用zip()函数,也能实现:
推导式创建序列
推导式是从一个或多个迭代器快速创建序列的一种方法。它可以将循环和条件判断结合,从而避免冗长的代码。推导式是典型的Python风格,会使用它代表你已经超过Python初学者的水平。
列表推导式 列表推导式生成列表对象,语法如下: [表达式 for item in 可迭代对象] 或则 [表达式 for item in 可迭代对象 if 条件判断]
字典推导式 字典的推导式生成字典对象,格式如下: {key_expression : value_expression for 表达式 in 可迭代对象} 类似于列表推导式,字典推导也可以增加if条件判断、多个for循环。 例子:
my_text = ‘i love you, i love sxt, i love gaoqi’ char_count = {c:my_text.count? for c in my_text}
集合推导式 集合底层还是字典,集合推导没有value,只不过集合里面全是key,无value,集合中key不可重复,出现一次的key,如果再次出现就会被覆盖。 集合推导式生成集合,和列表推导式的语法格式类似: {表达式 for item in 可迭代对象} 或则 {表达式 for item in 可迭代对象 if 条件判断}
生成器推导式(生成元组) 很多同学可能会问:“都有推导式,元组有没有?”,能不能用小括号呢? 一个生成器只能运行一次。第一次迭代可以得到数据,第二次迭代发现数据已经没有了。
函数用法和底层分析
函数的基本概念 1、一个程序由一个个任务组成;函数就是代表一个任务或者一个功能。 2、函数是代码复用的通用机制。
Python函数的分类 函数的定义和调用 核心要点 python中,定义函数的语法如下: def 函数名([参数列表]): ‘’‘文档字符串’’’ 函数体/若干语句
形参和实参
文档字符串(函数的注释) 程序的可读性最重要,一般建议在函数体开始的部分附上函数定义说明,这就是“文档字符串”,也有人称为“函数的注释”。我们通过三个单引号或则三个双引号来实现,中间可以加入多行文字进行说明。
返回值 return返回值要点: 1、如果函数体中包含return语句,则结束函数执行并返回值; 2、如果函数体中不包含return语句,则返回None值; 3、要返回多个返回值,使用列表、元组、字典、集合将多个值“存起来”即可。
|