写在前面:
回家了,周二晚上九点半就到家了,今天是周六。下周居然tm生产实习,还是线上授课。
① 括号看成一行
cmd = ("这是第一行"
"这是第二行"
"这是第三行")
print(cmd)
# 这是第一行这是第二行这是第三行
② 解包
常规操作
a, (b, c) = 1, [2, 3]
print("a:", a, "b:", b, "c:", c)
a, *rest = [1, 2, 3]
print(a, rest)
# 1 [2, 3]
a, *middle, c = [1, 2, 3, 4, 5]
print(a, middle, c)
# 1 [2, 3, 4] 5
③ N个相同对象的列表
four_none = [None] * 4
print(four_none)
# [None, None, None, None]
four_none[2] = 1
print(four_none)
# [None, None, 1, None]
下面还是个挺重要的例子, 非常有参考意义
four_lists = [[]] * 4
print(four_lists)
# [[], [], [], []]
four_lists[0].append("Ni")
print(four_lists)
# [['Ni'], ['Ni'], ['Ni'], ['Ni']]
# ####################################
# 出现了这种情况,修改了第一个结果全被修改了。
four_list = [[] for _ in range(4)]
four_list[0].append("Ni")
print(four_list)
# [['Ni'], [], [], []]
# 而列表生成式却不会这个样子, 再次提醒自己多用列表生成式
④ 关于 __init__
pack目录下的modu.py文件可以通过import pack module语句导入。首先解释器会在pack目录下查找__init__.py,
并执行其中的所有顶级语句。
⑤ 关于拼接字符串
# 辣鸡方式(本人惯用方式)
s = ""
for c in (97, 98, 99):
s += chr(c)
print(s)
# 比较好的方式
l = []
for c in (97, 98, 99):
l.append(chr(c))
print("".join(l))
# 最好的方式
r = (97, 98, 99)
s = [chr(c) for c in r]
print("".join(s))