距离上次写的日志已经过了两天了,中间事情比较多,学习也就滞后了,确实不应该,这点应该向老师们道个歉,没有规划好自己的时间,导致现在已经有两天没有学习,昨天晚上熬夜补的,但是今天开了一天会也就耽搁了,导致现在才看完今天的一章。
今天学习的是是接着上次的循环结构的知识点,上次无意中说多了就是for循环和可迭代对象遍历这一块,当时感觉比较陌生,但是看了案例之后也感觉就那样,就是个for in循环,遍历就是个元组或是列表,可迭代的对象包括序列、字典、迭代器对象、生成器函数、文件对象。
接着学习了range()对象,其中涉及到开始、结束、步长,这个和字符串很相似。range()可以用在for in循环中。
有学习了嵌套循环,这个被称为嵌套循环也成为多重循环,其中就涉及到一个案例:
打印下面的数字,用到的代码如下:
for x in range(5):
for y in range(5):
print(x,end="\t")
print()
然后根据嵌套结构打印九九乘法表,代码如下:
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() #换行
接着学习了break语句,break语句可用于while和for循环,用来整个循环。当有嵌套循环是,break语句只能跳出最近一层的循环。然后是coutinue语句,用于结束本次循环,继续下一次,当有多个循环嵌套时,continue也是应用于最近的一层循环。else语句在条件语句中经常可以用到。
循环代码优化中,要尽量减少循环内部不必要的计算,尽量减少内层循环的计算,尽可能向外提,局部变量查询较快,尽量使用局部变量。
使用zip()并行迭代中就是对多个序列进行并行迭代。推导式创建序列、列表推导式、字典推导式、集合推导式、生成器推导式这个地方不是很理解,感觉是看着还能懂但是自己写的时候就不知道从哪个地方下手。这些还是要下去多加练习,完成课上要求的习题。
接着讲的是函数用法和底层分析,这个函数的用法主要讲的是自定义函数的用法和调用,核心要点是用def来定义,然后讲的了return函数的使用,紧接着是形参和实参的使用。
感觉这个日志写的比较乱,主要是因为后面更多的是使用的函数的练习,内容掌握的不是很好,有很多东西都是看着还行,但是自己想不到,碰到实例也只是会这个一个例子而已,但是过些时间就会忘记代码怎么来的,碰到相似的例题可能又不会了。