A package that implements a switch statment
Project description
Switch Class
The switch class in Python mimics a switch-case statement found in other programming languages. This class allows you to define a set of case-output pairs and an optional end output for unmatched cases. Each case can map to either a static value or a callable function.
Table of Contents
Installation
No additional packages are required. Simply copy the Switch class definition into your Python project.
Usage
The Switch class is initialized with multiple case-output pairs, followed by an optional end output that acts as the default response when no cases match.
Cases can be dynaimically changed by setting the values with __setitem__, and also accessed with __getitem__
Initialization
To create a Switch instance, pass cases and outputs in pairs, optionally followed by an end output:
from switchObject import switch
switch_instance = switch(case1, output1, case2, output2, ..., end=default_output)
Example
Below is a example of a useage of the switch object
# Define functions to use as case outputs
def case_one_action():
return "Action for Case 1"
def case_two_action():
return "Action for Case 2"
# Initialize a Switch instance with cases and an end default
switch_example = switch(
"case1", case_one_action, # Function to call for "case1"
"case2", case_two_action, # Function to call for "case2"
end="Default action if no case matched"
)
# Call a case
print(switch_example("case1")) # Output: "Action for Case 1"
print(switch_example("unknown_case")) # Output: "Default action if no case matched"
# Access via getitem
print(switch_example["case1"]) # Output: <function case_one_action>
print(switch_example["unknown_case"]()) # Output: "Default action if no case matched"
# Modify a case
switch_example["case1"] = "New Output for Case 1"
print(switch_example("case1")) # Output: "New Output for Case 1"
# Display all cases and outputs
print(switch_example)
License
Veiw License Agreement Here: License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file switchobject-1.0.3.tar.gz.
File metadata
- Download URL: switchobject-1.0.3.tar.gz
- Upload date:
- Size: 3.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4e334374dc5582ebe9b04c14cae2e7ebe493f4f58129093efa2efd9879b6504
|
|
| MD5 |
244d555887df2b891763e42c93d2a9d9
|
|
| BLAKE2b-256 |
724824b0a7cf7f163a6919f7759b752dd5c4ba492573f156743bc434c2967448
|
File details
Details for the file switchObject-1.0.3-py3-none-any.whl.
File metadata
- Download URL: switchObject-1.0.3-py3-none-any.whl
- Upload date:
- Size: 3.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59ea8ff24df67ed7916401610ca83a2949040555145c02aa7db25a70528e1709
|
|
| MD5 |
14a05f7439a587bad22470a525d04ed2
|
|
| BLAKE2b-256 |
3a3c3972048a70c0cec154763324039a279f74ae049b445c497cb1666ecfd55c
|