จะใช้คำสั่ง switch กับอาร์เรย์ใน Python (จำลอง) ได้อย่างไร?

Nov 20, 2025

ฝากข้อความ

ใน Python ไม่มีบิวท์อินสวิตช์คำสั่งเหมือนในภาษาโปรแกรมอื่นๆ เช่น C, Java หรือ JavaScript อย่างไรก็ตาม เราสามารถจำลองกสวิตช์คำสั่งโดยใช้เทคนิคต่าง ๆ โดยเฉพาะเมื่อต้องจัดการกับอาร์เรย์ ในฐานะซัพพลายเออร์สวิตช์ ฉันจะแนะนำคุณตลอดวิธีการบรรลุเป้าหมายนี้ และแสดงการใช้งานจริงบางอย่างด้วยสวิตช์คุณภาพสูงของเรา เช่นZ - 15GQ - B Q8 Q21 Q22 สวิตช์พื้นฐาน-514120 ตัวกระตุ้น, และ504222 สวิตช์นิรภัย-

การจำลองคำสั่ง Switch ใน Python

วิธีที่พบบ่อยที่สุดในการจำลองกสวิตช์คำสั่งใน Python นั้นใช้พจนานุกรม พจนานุกรมใน Python จะจับคู่คีย์กับค่า ซึ่งอาจเป็นฟังก์ชันหรือนิพจน์ก็ได้ เมื่อเราต้องการดำเนินการต่างๆ ตามค่าที่กำหนด เราสามารถใช้การแมปนี้เพื่อให้ได้ผลลัพธ์ที่คล้ายกันกับ aสวิตช์คำแถลง.

เริ่มต้นด้วยตัวอย่างง่ายๆ สมมติว่าเรามีอาร์เรย์ของตัวเลข และเราต้องการดำเนินการที่แตกต่างกันตามแต่ละหมายเลข

def operation_1(): ส่งคืน "การดำเนินการ 1 ที่ดำเนินการแล้ว" def operation_2(): ส่งคืน "การดำเนินการที่ 2 ที่ดำเนินการแล้ว" def operation_3(): ส่งคืน "การดำเนินการที่ 3 ที่ดำเนินการ" switch_dict = { 1: operation_1, 2: operation_2, 3: operation_3 } ตัวเลข = [1, 2, 3] สำหรับ num เป็นตัวเลข: result = switch_dict.get(num, lambda: "ไม่มีการกำหนดการดำเนินการ")() พิมพ์(ผลลัพธ์)

ในโค้ดนี้ ก่อนอื่นเราจะกำหนดฟังก์ชันสามฟังก์ชันการดำเนินงาน_1-การดำเนินงาน_2, และการดำเนินงาน_3- จากนั้นเราก็สร้างพจนานุกรมswitch_dictโดยที่คีย์คือตัวเลข และค่าคือฟังก์ชันที่เกี่ยวข้อง เมื่อเราวนซ้ำผ่านตัวเลขอาร์เรย์เราใช้รับวิธีการใช้พจนานุกรมเพื่อค้นหาฟังก์ชันที่เหมาะสมตามตัวเลขปัจจุบัน หากตัวเลขไม่อยู่ในพจนานุกรม เราจะใช้ฟังก์ชัน lambda ที่ส่งคืนข้อความเริ่มต้น

504222 Magnetic Safety Switch PilzZ-15GQ22-B Basic Switch

การใช้งานจริงด้วยส่วนประกอบสวิตช์

ตอนนี้ เรามาพิจารณาสถานการณ์ที่เป็นประโยชน์มากขึ้นเกี่ยวกับผลิตภัณฑ์สวิตช์ของเรา สมมติว่าเรามีสวิตช์รุ่นต่างๆ มากมาย และเราต้องการแสดงข้อมูลที่แตกต่างกันเกี่ยวกับแต่ละรุ่น

def z_15gq_info(): return "สวิตช์พื้นฐาน Z - 15GQ - B Q8 Q21 Q22 เป็นสวิตช์ประสิทธิภาพสูงที่เหมาะสำหรับการใช้งานในอุตสาหกรรมต่างๆ ให้การเชื่อมต่อที่เชื่อถือได้และความทนทานในระยะยาว" def actuator_514120_info(): return "แอคทูเอเตอร์ 514120 ได้รับการออกแบบมาเพื่อให้การควบคุมสวิตช์ที่แม่นยำ ช่วยให้การทำงานราบรื่นและการสั่งงานที่แม่นยำ" def safety_switch_504222_info(): return "สวิตช์นิรภัย 504222 เป็นส่วนประกอบสำคัญในการรับรองความปลอดภัยในสภาพแวดล้อมทางอุตสาหกรรม โดยสามารถตัดไฟได้อย่างรวดเร็วในกรณีฉุกเฉิน" switch_info_dict = { "Z - 15GQ - B Q8 Q21 Q22": z_15gq_info, "514120": actuator_514120_info, "504222": safety_switch_504222_info } switch_models = ["Z - 15GQ - B Q8 Q21 Q22", "514120", "504222"] สำหรับรุ่นใน switch_models: info = switch_info_dict.get(model, lambda: "ไม่มีข้อมูล")() print(info)

ในตัวอย่างนี้ เรากำหนดฟังก์ชันเพื่อให้ข้อมูลเกี่ยวกับผลิตภัณฑ์สวิตช์แต่ละรายการของเรา ที่switch_info_dictจับคู่ชื่อรุ่นสวิตช์กับฟังก์ชันเหล่านี้ เมื่อเราทำซ้ำผ่านswitch_modelsarray เราสามารถรับข้อมูลที่เกี่ยวข้องกับสวิตช์แต่ละรุ่นได้

การจัดการอาร์เรย์ที่ซับซ้อน

บางครั้งอาร์เรย์ที่เรากำลังเผชิญอยู่อาจมีโครงสร้างข้อมูลที่ซับซ้อนมากขึ้น เช่น รายการหรือพจนานุกรม สมมติว่าเรามีพจนานุกรมหลายชุด โดยแต่ละพจนานุกรมแสดงถึงคำสั่งซื้อของลูกค้าสำหรับผลิตภัณฑ์สวิตช์

คำสั่งซื้อ = [ {"product": "Z - 15GQ - B Q8 Q21 Q22", "quantity": 5}, {"product": "514120", "quantity": 3}, {"product": "504222", "quantity": 2} ] def คำนวณ_total_price_z_15gq(ปริมาณ): ราคา = 100 # สมมติว่า ราคาของ Z - 15GQ - B Q8 Q21 Q22 คือราคาส่งคืน $100 * ปริมาณ def คำนวณ_total_price_514120(ปริมาณ): ราคา = 50 # สมมติว่าราคาของ 514120 คือราคาส่งคืน $50 * ปริมาณ def คำนวณ_total_price_504222(ปริมาณ): ราคา = 80 # สมมติว่าราคาของ 504222 คือราคาส่งคืน $80 * ปริมาณ price_calculation_dict = { "Z - 15GQ - B Q8 Q21 Q22": คำนวณ_total_price_z_15gq, "514120": คำนวณ_total_price_514120, "504222": คำนวณ_total_price_504222 } Total_cost = 0 สำหรับการสั่งซื้อในคำสั่งซื้อ: สินค้า = ปริมาณการสั่งซื้อ ["ผลิตภัณฑ์"] = order["quantity"] price_calculator = price_calculation_dict.get(product, lambda q: 0) Total_cost += price_calculator(quantity) print(f"ต้นทุนรวมของคำสั่งซื้อทั้งหมดคือ ${total_cost}")

ในโค้ดนี้ เรามีพจนานุกรมมากมายคำสั่งซื้อโดยแต่ละพจนานุกรมประกอบด้วยชื่อผลิตภัณฑ์และปริมาณที่สั่ง เรากำหนดฟังก์ชันเพื่อคำนวณราคารวมของผลิตภัณฑ์แต่ละรายการและสร้างพจนานุกรมราคา_การคำนวณ_dictเพื่อจับคู่ชื่อผลิตภัณฑ์กับฟังก์ชันเหล่านี้ โดยวนซ้ำผ่านคำสั่งซื้ออาร์เรย์เราสามารถคำนวณต้นทุนรวมของคำสั่งซื้อทั้งหมดได้

การจัดการข้อผิดพลาดและกรณี Edge

เมื่อจำลองกสวิตช์คำสั่งที่มีอาร์เรย์ใน Python สิ่งสำคัญคือต้องจัดการกับข้อผิดพลาดและตัวพิมพ์ขอบอย่างถูกต้อง ตัวอย่างเช่น หากคีย์ที่เราค้นหาไม่มีอยู่ในพจนานุกรม เราก็ควรมีพฤติกรรมเริ่มต้นที่สมเหตุสมผล ในตัวอย่างก่อนหน้านี้ เราใช้ฟังก์ชัน lambda เพื่อส่งคืนข้อความเริ่มต้นหรือค่าเริ่มต้น

สิ่งสำคัญอีกประการหนึ่งคือต้องแน่ใจว่าค่าในอาร์เรย์นั้นเป็นประเภทที่ถูกต้อง หากคีย์ในพจนานุกรมเป็นประเภทใดประเภทหนึ่ง (เช่น จำนวนเต็มหรือสตริง) ค่าในอาร์เรย์ควรตรงกับประเภทนี้ มิฉะนั้นรับวิธีการอาจไม่ทำงานตามที่คาดไว้

บทสรุป

การจำลองกสวิตช์คำสั่งใน Python โดยใช้พจนานุกรมเป็นวิธีที่มีประสิทธิภาพและยืดหยุ่นในการจัดการกับการกระทำต่างๆ ตามค่าในอาร์เรย์ ไม่ว่าคุณจะทำงานเกี่ยวกับการเขียนโปรแกรมง่ายๆ หรือจัดการกับสถานการณ์จริงที่เกี่ยวข้องกับผลิตภัณฑ์สวิตช์ เทคนิคนี้สามารถช่วยให้คุณเขียนโค้ดที่มีการจัดระเบียบและบำรุงรักษาได้มากขึ้น

ในฐานะซัพพลายเออร์สวิตช์ เรามีผลิตภัณฑ์สวิตช์คุณภาพสูงที่หลากหลาย รวมถึงZ - 15GQ - B Q8 Q21 Q22 สวิตช์พื้นฐาน-514120 ตัวกระตุ้น, และ504222 สวิตช์นิรภัย- หากคุณสนใจผลิตภัณฑ์ของเราหรือมีคำถามใดๆ เกี่ยวกับแอปพลิเคชันสวิตช์ โปรดติดต่อเราเพื่อขอการจัดซื้อและหารือเพิ่มเติม

อ้างอิง

  • เอกสาร Python: https://docs.python.org/3/
  • Python สำหรับทุกคน: Charles Severance

ส่งคำถาม