学习python第六天

  今天这篇主要总结之前学习过的语法,为了更加理解流程控制,通过项目实战——名片管理系统,强化之前的学习


补充知识点

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="\t")
    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

12、

 

posted @ 2018-10-20 22:48  人工智能之路上的菜鸡  阅读(175)  评论(0编辑  收藏  举报