py的一些小技巧

写在前面:python

回家了,周二晚上九点半就到家了,今天是周六。下周竟然tm生产实习,仍是线上授课。app

 

① 括号当作一行spa

cmd = ("这是第一行"
       "这是第二行"
       "这是第三行")


print(cmd)
# 这是第一行这是第二行这是第三行

② 解包rest

常规操做code

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__cmd

    pack目录下的modu.py文件能够经过import pack module语句导入。首先解释器会在pack目录下查找__init__.py,it

执行其中的全部顶级语句。    class

 

⑤ 关于拼接字符串

# 辣鸡方式(本人惯用方式)
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))