https://github.com/koffiisen/smartswitchcase
Python library of implementation of Switch Case
https://github.com/koffiisen/smartswitchcase
libraries library python python2 python3 switch switchcase
Last synced: 15 days ago
JSON representation
Python library of implementation of Switch Case
- Host: GitHub
- URL: https://github.com/koffiisen/smartswitchcase
- Owner: koffiisen
- License: mit
- Created: 2020-10-31T07:13:29.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2020-11-01T09:21:55.000Z (over 5 years ago)
- Last Synced: 2025-03-12T17:17:20.834Z (about 1 year ago)
- Topics: libraries, library, python, python2, python3, switch, switchcase
- Language: Python
- Homepage: https://github.com/koffiisen/SmartSwitchCase
- Size: 13.7 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://pypi.org/project/smartswitchcase/)
[](https://pypi.org/project/smartswitchcase/)
[](https://pypi.org/project/smartswitchcase/)
[](https://pypi.org/project/smartswitchcase/)
[](https://github.com/koffiisen/smartswitchcase)
[](https://pypi.org/pypi/smartswitchcase#files)
* ``BigQuery | Google cloud`` [<==>](https://cloud.google.com/bigquery/)
[](https://pepy.tech/project/smartswitchcase)
[](https://pepy.tech/project/smartswitchcase/month)
[](https://pepy.tech/project/smartswitchcase/week)
### Python library of implementation of Switch Case ([SmartSwitchCase](https://github.com/koffiisen/SmartSwitchCase))
[SmartSwitchCase](https://github.com/koffiisen/SmartSwitchCase) is a simple library for use switch case statement.
## Requirements
[Python >= 2.7](https://www.python.org/downloads/) must be installed.
``Install``
------------------------------------------------------------------------------
``smartswitchcase`` is released on PyPI, so all you need is:
$ pip install smartswitchcase
To upgrade to latest version:
$ pip install --upgrade smartswitchcase
# Usage
### Basic Usage
```python
from smartswitchcase import SmartSwitchCase,Case
var = 2
def first():
print("I'm ... 1")
def two():
print("I'm ... 2")
# Initialisation
swc = SmartSwitchCase(var)
# Add case
swc.case(Case(1, first))
swc.case(Case(2, two))
# Add default statement
swc.default(lambda: "I'm ... Default")
# Run
swc.exc()
# >>> CONSOLE : I'm ... 2 <<<
```
### Advance Usage
```python
from smartswitchcase import SmartSwitchCase, Case
import random
obj = random.randint(1, 11)
def first():
return "I'm ... 1"
def two():
return "I'm ... 2"
# Initialisation
swc = SmartSwitchCase(obj)
# Add case
swc.case(Case(1, first))
swc.case(Case(2, two))
swc.case(Case(3, lambda: "I'm ... 3"))
swc.case(Case(4, lambda: "I'm ... 4"))
swc.case(Case(5, lambda: "I'm ... 5"))
swc.case(Case(6, lambda: "I'm ... 6"))
swc.case(Case(7, lambda: obj * 7))
swc.case(Case(8, lambda: 888))
swc.case(Case(9, lambda: 999))
# Add default statement
swc.default(lambda: "I'm ... Default")
# Run
swc.exc()
# If your statement return a result you can get her after execution
result = swc.result()
# Show the result
print(result)
```
### Advance Usage Example (LIST)
```python
from smartswitchcase import SmartSwitchCase, Case
# Initialisation
swc = SmartSwitchCase([1, 2, 3, 4, 5])
# Add case
swc.case(Case([6, 7, 8], lambda: "[6, 7, 8] Match with [1, 2, 3, 4, 5]"))
swc.case(Case([9, 10, 11], lambda: "[6, 7, 8] Match with [1, 2, 3, 4, 5]"))
swc.case(Case([1, 2, 3, 4, 5], lambda: "[1, 2, 3, 4, 5] Match with [1, 2, 3, 4, 5]"))
swc.case(Case([78, 17, 98], lambda: "[78, 17, 98] Match with [1, 2, 3, 4, 5]"))
# Add default statement
swc.default(lambda: "I'm ... Default [1, 2, 3, 4, 5]")
# Run
swc.exc()
# If your statement return a result you can get her after execution
result = swc.result()
# Show the result
print(result)
```
### Advance Usage Example (DICT)
```python
from smartswitchcase import SmartSwitchCase, Case
mydict = {
"data": {
"1": {"name": "Joel"},
"2": {"name": "Github & Python"}
}
}
# Initialisation
swc = SmartSwitchCase(mydict)
# Add case
swc.case(Case({"data": {"1": {"name": "Hi"}}}, lambda: "Maybe 1"))
swc.case(Case({"data": {"1": {"name": "Git"}, "2": {"name": "Github & Python"}, }}, lambda: "Maybe 2"))
swc.case(Case({"data": {"1": {"name": "Joel"}, "2": {"name": "Github & Python"}, }}, lambda: "Maybe 3"))
swc.case(Case({"data": {"1": {"name": "PyPi"}, "2": {"name": "Github & Python"}, }}, lambda: "Maybe 4"))
swc.case(Case({"data": {"1": {"name": "Dict"}, "2": {"name": "Github & Python"}, }}, lambda: "Maybe 5"))
# Run
swc.exc()
# If your statement return a result you can get her after execution
result = swc.result()
# Show the result
print(result)
```
Documentation
===============================================================================
####
* [SmartSwitchCase](smartswitchcase/smartswitchcase.py) : Take one parameter (The statement value you want tested)
* [Case](smartswitchcase/smartswitchcase.py) Take two parameters (value, func):
- value of case
- func is the execution function if case is match
## Project structure:
* `smartqwitchcase` - source code of a package
* `examples` - working examples
## Contribute
1. If unsure, open an issue for a discussion
1. Create a fork
1. Make your change
1. Make a pull request
1. Happy contribution!
### For support or coffee :)
[ ](https://www.paypal.me/smartjson)
## Author : [Koffi Joel ONIPOH](https://github.com/koffiisen)