6
การรักษาลายเซ็นของฟังก์ชันตกแต่ง
สมมติว่าฉันเขียนมัณฑนากรที่ทำอะไรธรรมดา ๆ ตัวอย่างเช่นอาจแปลงอาร์กิวเมนต์ทั้งหมดเป็นประเภทเฉพาะดำเนินการบันทึกใช้การบันทึก ฯลฯ นี่คือตัวอย่าง: def args_as_ints(f): def g(*args, **kwargs): args = [int(x) for x in args] kwargs = dict((k, int(v)) for k, v in kwargs.items()) return f(*args, **kwargs) return g @args_as_ints def funny_function(x, y, z=3): """Computes x*y + 2*z""" return x*y + 2*z >>> funny_function("3", 4.0, z="5") 22 ทุกอย่างดีจนถึงตอนนี้ …