import this
# 9 * 9 乘法口诀:
[[i * j for j in range(1, 10)] for i in range(1, 10)]
# ver2.0
[['{:d} * {:d} = {:2d}'.format(i, j, i * j) for j in range(1, 10)] for i in range(1, 10)]
# 创建新文件夹
import os
not os.path.exists(current_path) and os.mkdir(current_path)
# 深复制与浅复制
aList = [[1, 2, (3, 4)], (5, 6), 7]
bList = aList # 引用
cList = aList[:] # 浅复制
dList = copy.copy(aList) # 浅复制
eList = copy.deepcopy(aList) # 深复制
"""
引用:指向相同地址(id相同)
浅复制:拷贝不可变类型的一维子元素(id相同,但引用源不同,即副本不随原数据改变而改变),引用可变类型的一维子元素(id相同)
深复制:拷贝所有元素(不可变类型的一维子元素的id相同但引用源不同,可变类型的一维子元素的id不同)
"""
# 传递任意数量的实参
def foo(name='Anna', *args, **kwargs):
pass
# 给形参指定默认值时,等号两边不要有空格
# 对于函数调用中的关键字实参,也应遵循这种约定
foo(name, age, field='physics')
"""
*args, **kwargs 是python中的可变参数
*args 表示任意数量的无名参数,它是一个tuple
**kwargs 表示任意数量的关键字参数,它是一个dict
注意传递参数的顺序
"""
continued