Python程序员鲜为人知但你应该知道的17个问题
一、不要使用可变对象作为函数默认值
In[1]:defappend_to_list(value,def_list=[]): ...: def_list.append(value) ...: returndef_list ...:
In[2]:my_list=append_to_list(1)
In[3]:my_list Out[3]:[1]
In[4]:my_other_list=append_to_list(2)
In[5]:my_other_list Out[5]:[1,2]#看到了吧,其实我们本来只想生成[2]但是却把第一次运行的效果页带了进来
In[6]:importtime
In[7]:defreport_arg(my_default=time.time()): ...: print(my_default) ...:
In[8]:report_arg()#第一次执行 1399562371.32
In[9]:time.sleep(2)#隔了2秒
In[10]:report_arg() 1399562371.32#时间竟然没有变
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下