Hur använder man en switch-sats med arrayer i Python (simulerad)?

Nov 20, 2025

Lämna ett meddelande

I Python finns det ingen inbyggdväxlauttalande som i vissa andra programmeringsspråk som C, Java eller JavaScript. Men vi kan simulera enväxlauttalande med hjälp av olika tekniker, särskilt när det gäller arrayer. Som switchleverantör guidar jag dig genom hur du uppnår detta och visar dig några praktiska tillämpningar med våra högkvalitativa switchar somZ - 15GQ - B Q8 Q21 Q22 Basic Switch,514120 Ställdon, och504222 Säkerhetsbrytare.

Simulerar ett switch-uttalande i Python

Det vanligaste sättet att simulera enväxlauttalande i Python är genom att använda en ordbok. En ordbok i Python mappar nycklar till värden, som kan vara funktioner eller uttryck. När vi vill utföra olika åtgärder baserat på ett visst värde kan vi använda denna mappning för att uppnå en liknande effekt som enväxlapåstående.

Låt oss börja med ett enkelt exempel. Anta att vi har en uppsättning siffror och att vi vill utföra olika operationer baserat på varje nummer.

def operation_1(): return "Operation 1 executed" def operation_2(): return "Operation 2 executed" def operation_3(): return "Operation 3 executed" switch_dict = { 1: operation_1, 2: operation_2, 3: operation_3 } numbers = [1, 2, 3] for num la dicts: get num la operation definierad")() print(result)

I den här koden definierar vi först tre funktioneroperation_1,operation_2, ochoperation_3. Sedan skapar vi en ordbokswitch_dictdär nycklarna är siffrorna och värdena är motsvarande funktioner. När vi itererar genomtalarray använder vimetod för ordboken för att hitta lämplig funktion baserat på det aktuella numret. Om numret inte finns i ordlistan använder vi en lambdafunktion som returnerar ett standardmeddelande.

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

Praktisk tillämpning med switchkomponenter

Låt oss nu överväga ett mer praktiskt scenario relaterat till våra switchprodukter. Anta att vi har en rad switchmodeller och vi vill visa olika information om varje modell.

def z_15gq_info(): return "Z - 15GQ - B Q8 Q21 Q22 Basic Switch är en högpresterande switch lämplig för olika industriella tillämpningar. Den erbjuder pålitlig anslutning och långvarig hållbarhet." def actuator_514120_info(): return "514120 ställdonet är designat för att ge exakt styrning av omkopplare. Det säkerställer smidig drift och exakt aktivering." def safety_switch_504222_info(): return "Säkerhetsbrytaren 504222 är en viktig komponent för att garantera säkerheten i industriella miljöer. Den kan snabbt stänga av strömmen i nödsituationer." switch_info_dict = { "Z - 15GQ - B Q8 Q21 Q22": z_15gq_info, "514120": actuator_514120_info, "504222": safety_switch_504222_info } "Switch_models = ["Z - 182Q1", Q4 - 182Q5", Q4 - 182Q "504222"] för modell i switch_models: info = switch_info_dict.get(modell, lambda: "Ingen information tillgänglig")() print(info)

I det här exemplet definierar vi funktioner för att tillhandahålla information om var och en av våra switchprodukter. Deswitch_info_dictmappar namnen på switchmodellen till dessa funktioner. När vi itererar genomswitch_modelsarray kan vi få relevant information om varje switchmodell.

Hantera komplexa matriser

Ibland kan arrayen vi har att göra med innehålla mer komplexa datastrukturer, såsom listor eller ordböcker. Låt oss säga att vi har en rad ordböcker, där varje ordbok representerar en kundorder för en växelprodukt.

orders = [ {"product": "Z - 15GQ - B Q8 Q21 Q22", "quantity": 5}, {"product": "514120", "quantity": 3}, {"product": "504222", "quantity": 2} ] def calculate_quantity1_price(ztotal_1_price): #q_ Antag att priset för Z - 15GQ - B Q8 Q21 Q22 är 100 USD returpris * kvantitet def calculate_total_price_514120(quantity): pris = 50 # Antag att priset på 514120 är 50 USD returpris * kvantitet def 2 calculate_quantity #042 pris = 2 beräkna_kvantitet_totalt: Anta att priset på 504222 är 80 USD returpris * kvantitet price_calculation_dict = { "Z - 15GQ - B Q8 Q21 Q22": calculate_total_price_z_15gq, "514120": calculate_total_price_514120, "5": calculate_total_price_504222 } total_cost = 0 för beställning i beställningar: product = order["product"] quantity = order["quantity"] price_calculator = price_calculation_dict.get(product, lambda q: 0) total_cost += price_calculator(quantity) $total cost of all_orderscost of all ordersco

I den här koden har vi en rad ordböckerorder, där varje ordbok innehåller produktnamnet och den beställda mängden. Vi definierar funktioner för att beräkna det totala priset för varje produkt och skapar en ordbokprice_calculation_dictför att mappa produktnamnen till dessa funktioner. Genom att iterera genomorderarray kan vi beräkna den totala kostnaden för alla beställningar.

Felhantering och kantfall

När man simulerar enväxlamed arrayer i Python, är det viktigt att hantera fel och kantfall på rätt sätt. Till exempel, om nyckeln vi letar efter inte finns i ordboken, bör vi ha ett rimligt standardbeteende. I de tidigare exemplen använde vi en lambda-funktion för att returnera ett standardmeddelande eller ett standardvärde.

En annan viktig aspekt är att säkerställa att värdena i arrayen är av rätt typ. Om nycklarna i ordboken är av en viss typ (t.ex. heltal eller strängar), bör värdena i arrayen matcha denna typ. Annars, denmetoden kanske inte fungerar som förväntat.

Slutsats

Simulerar aväxlauttalande i Python med hjälp av en ordbok är ett kraftfullt och flexibelt sätt att hantera olika åtgärder baserat på värden i en array. Oavsett om du arbetar med en enkel programmeringsuppgift eller hanterar verkliga scenarier relaterade till växlingsprodukter, kan den här tekniken hjälpa dig att skriva mer organiserad och underhållbar kod.

Som switchleverantör erbjuder vi ett brett utbud av högkvalitativa switchprodukter, inklusiveZ - 15GQ - B Q8 Q21 Q22 Basic Switch,514120 Ställdon, och504222 Säkerhetsbrytare. Om du är intresserad av våra produkter eller har några frågor om switchapplikationer, är du välkommen att kontakta oss för upphandling och vidare diskussioner.

Referenser

  • Python-dokumentation: https://docs.python.org/3/
  • Python för alla: Charles Severance

Skicka förfrågan