หน้าแรก › โจทย์ฟรีรายข้อ › ครูผู้ช่วย วิชาเอกคอมพิวเตอร์

พิจารณาโปรแกรมภาษา Python ต่อไปนี้ ผลลัพธ์ที่แสดงคือข้อใด def…

พิจารณาโปรแกรมภาษา Python ต่อไปนี้ ผลลัพธ์ที่แสดงคือข้อใด def add(x, box=[]): box.append(x) return box print(add(1), add(2, []), add(3))

ดูเฉลยและคำอธิบาย

คำตอบ: ค. [1, 3] [2] [1, 3]

ค่าเริ่มต้น box=[] ถูกสร้างครั้งเดียวตอนนิยามฟังก์ชัน add(1) และ add(3) จึงต่อท้ายลิสต์ตัวเดียวกัน ส่วน add(2, []) ใช้ลิสต์ใหม่ที่ส่งเข้าไป และ print ประเมินอาร์กิวเมนต์ครบทุกตัวก่อนแสดง ค่าแรกกับค่าที่สามจึงเป็นออบเจกต์เดียวกันคือ [1, 3]

[1] [2] [3] เข้าใจว่าสร้างลิสต์ใหม่ทุกครั้งที่เรียก · [1] [2] [1, 3] ลืมว่าค่าแรกคือลิสต์เดียวกับที่ถูกแก้ภายหลัง · [1, 2, 3] คิดว่า add(2, []) ไปต่อลิสต์ค่าเริ่มต้นด้วย

ประเด็นของข้อนี้: ค่าเริ่มต้นของพารามิเตอร์ที่เปลี่ยนแปลงได้

ตรวจเทียบแหล่ง ณ 19 ต.ค. 2569 · หมวด: ครูผู้ช่วย วิชาเอกคอมพิวเตอร์

ทำชุดทดลองฟรีเต็มชุด (จับเวลา) ดูแพ็กวิชาเอกคอมพิวเตอร์
← ข้อก่อนหน้าข้อถัดไป →

GorPass เป็นแนวข้อสอบจำลองที่ทีมงานเขียนและตรวจเทียบแหล่ง ไม่ใช่ข้อสอบของส่วนราชการใด · ดูบันทึกการตรวจและอัปเดตคลัง · พบจุดที่ควรแก้ แจ้งได้ที่ เกี่ยวกับ/ติดต่อ