Python Default Args Can Be a Bug

𝗔 𝗣𝘆𝘁𝗵𝗼𝗻 𝗯𝗲𝗵𝗮𝘃𝗶𝗼𝗿 𝘁𝗵𝗮𝘁 𝗰𝗮𝗻 𝗹𝗲𝗮𝗱 𝘁𝗼 𝘂𝗻𝗲𝘅𝗽𝗲𝗰𝘁𝗲𝗱 𝗯𝘂𝗴𝘀. In Python, mutable default arguments can behave unexpectedly. def add_item(item, my_list=[]): my_list.append(item) return my_list print(add_item(1)) print(add_item(2)) Output: [1] [1, 2] Why? Because the default list is created only once and reused. 𝗙𝗶𝘅: def add_item(item, my_list=None): if my_list is None: my_list = [] my_list.append(item) return my_list 𝗞𝗲𝘆 𝗜𝗻𝘀𝗶𝗴𝗵𝘁: Default mutable objects persist across function calls. That’s why unexpected bugs happen. #Python #PythonTips #Programming #Developers #Coding #Tech #LearningPython

  • graphical user interface, text, application, chat or text message

To view or add a comment, sign in

Explore content categories