บางครั้งดูเหมือนเป็นธรรมชาติที่จะมีพารามิเตอร์เริ่มต้นซึ่งเป็นรายการว่าง แต่งูใหญ่ให้พฤติกรรมที่ไม่คาดคิดในสถานการณ์เหล่านี้
ตัวอย่างเช่นฉันมีฟังก์ชัน:
def my_func(working_list = []):
working_list.append("a")
print(working_list)
ครั้งแรกที่เรียกว่าค่าเริ่มต้นจะใช้งานได้ แต่การโทรหลังจากนั้นจะอัปเดตรายการที่มีอยู่ (โดยมี "a" แต่ละสาย) และพิมพ์เวอร์ชันที่อัปเดต
ดังนั้นอะไรคือวิธี pythonic ในการรับพฤติกรรมที่ฉันต้องการ (รายการใหม่ในการโทรแต่ละครั้ง)?