Python这个“魔鬼细节”让我昨晚差点砸电脑!列表默认参数坑哭你,一招搞定!
哎,先叹口气。昨天本来想着下班前优化一个小功能,结果硬生生搞到凌晨两点,最后发现居然是一个我早就知道、但一不留神又踩进去的坑!气得我差点把桌上的咖啡泼屏幕上——幸好那是最后一杯。 事情是这样的:我在写一个函数,用来记录用户的操作日志,每次调用就往列表里加一条记录。我寻思着,为了灵活,让调用方可以自己传一个列表进来,如果没传就用默认的空列表。于是乎,我优雅地写出了下面这段代码: def add_log(message, log_list=[]): log_list.append(message) return log_list 是不是看起来人畜无害?我当时也是这么想的。然后我模拟了几个用户操作:...