5-4.20

func_map = {
    "1":add_product,
    "2":del_product,
    "3":edit_product,
    "4":show_product,
    "5":quit
}
for i in range(4):
    choice = input('请输入你的选择:\n'
                   '1、添加商品\n'
                   '2、删除商品\n'
                   '3、修改商品信息\n'
                   '4、查看商品\n'
                   '5、退出')
 
    if choice in func_map:
        func_map.get(choice)()
    else:
        print('请输入正确的选项!’)
 
 
全局变量:
局部变量:
  1. 函数内部变量,
  2. global:想修改全局变量,不可变变量需加global
  3. 尽量少用全局变量,占内存。局部变量使用后释放内存
参数:
必传参数
默认值参数
可变参数*        ( 212,1212,232 )
关键字参数**    {'list2': 2, 'll': 22}
 
调用函数的时候,可以全部都用位置参数,位置是一一对应的,必须按照位置来传参
也可以全部都用关键字参数,指定关键字,不需要按照顺序来
也可以一起用,但是要先写位置参数,在写关键字参数,关键字参数后面不可再出现位置参数
 
函数中指定传入参数类型:参数:str  参数:list
 
递归:
函数自己调用了自己,递归最深999次
 
 
不要循环删除list,可复制一个list[:]
 
enumerate 把里面的元素和数字对应起来
for id,i in enumerate(list,1)
    Print()
 
Zip把两个list整合在一起:
A = [12,1231,3123,123]
B = [333,333,333,222]
zip(A,B)
 
exec(),执行字符串中的代码
 
eval()
 
 
  • 深拷贝,会开辟新的内存空间,独立内存地址,copy.deepcopy()
  • 浅拷贝,不会开辟新的内存空间,互相影响,内存地址一样
 
 
 
 
 
posted @ 2019-04-26 18:01  dandan33  阅读(95)  评论(0)    收藏  举报