今天这篇主要总结之前学习过的语法,为了更加理解流程控制,通过项目实战——名片管理系统,强化之前的学习
补充知识点
1、pass
pass
就是一个空语句,不做任何事情,一般用做占位语句- 是为了保持程序结构的完整性
2、TODO 注释
- 在
#
后跟上TODO
,用于标记需要去做的工作,便于查看
# TODO(作者/邮箱) 显示系统菜单
3、注意
- 在函数中使用
return
表示返回 - 如果在
return
后没有跟任何内容,只是表示该函数执行到此就不再执行后续的代码
4、字符串中的format函数进行批处理
9*9乘法表
for i in range(1, 10): for j in range(1, i + 1): print('{} * {} = {}'.format(i, j, i * j), end=" ") print("")
5、比较运算的一些小问题
不同类型的对象不能使用"< , >,<=,>="进行比较,却可以使用"==,!=",例如字符串和数字:
42 > 'the answer' #无法比较 42 == 'the answer' #False 42 != 'the answer' #True
6、布尔型的比较
True和False对于计算机就像是1和0一样,如果在命令行中敲入True+True+False查看结果不难发现,True=1,False=0
True > False
True + False > False + False
7、 sorted()排序函数(内置函数)
sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
sorted 语法:
sorted(iterable, key=None, reverse=False)
list = [6,2,7,4,1,3,5] # 返回的是一个新的list,所以原list没有变化,输出仍是原list sorted(list) print(list) # 在原list的基础上排序 list.sort() print(list)
8、zip()(内置函数)
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。
我们可以使用 list() 转换来输出列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
a = [1, 2, 3] b = [4, 5, 6] c = [4, 5, 6, 7, 8] # 返回一个对象 zipped = zip(a, b, c) # 将这个对象转为list,list中含有多个元组 print(list(zipped)) # 解压过程,a1,a2为元组 a1, a2 = zip(*zip(a, b)) print(a1) print(list(a1))
9、列表解析式
列表解析是Python迭代机制的一种应用,它常用于实现创建新的列表,返回的是一个列表,因此用在[ ]中。
import time a = [] t0 = time.clock() for i in range(1, 20000): a.append(i) print(time.clock() - t0, "seconds process time") t0 = time.clock() b = [i for i in range(1, 20000)] print(time.clock() - t0, "seconds process time")
运行结果:
0.003125589919816724 seconds process time
0.0009504696449026346 seconds process time
10、enumerate()(内置函数)
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
以下是 enumerate() 方法的语法:
enumerate(sequence, [start=0])
letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] for num, letter in enumerate(letters, start=10): print(letter, 'is', num + 1) 运行结果: a is 11 b is 12 c is 13 d is 14 e is 15 f is 16 g is 1711、
11、Python中读取txt文本出现“ 'gbk' codec can't decode byte 0xbf in position 2: illegal multibyte sequence”的解决办法
原帖地址:https://blog.csdn.net/lqzdreamer/article/details/76549256