function can be dispatched by its arguments
Project description
arg_dispatch
function can be dispatched by its arguments
Example
from arg_dispatch import dispatch
# Functions
@dispatch
def demo(a, b):
return 'hello'
@dispatch
def demo(c):
return 'world'
demo(a=1, b=2) # return 'hello'
demo(c=3) # return 'world'
# try to call a function which has not been registed
demo(d=4) # raise `FunctionNotRegist`
# Methods
class Demo(object):
@dispatch
def demo(self, a, b):
return 'hello'
@dispatch
def demo(self, c):
return 'world'
instance = Demo()
instance.demo(a=1, b=2) # return 'hello'
instance.demo(c=3) # return 'world'
# try to call a method which has not been registed
instance.demo(d=4) # raise `FunctionNotRegist`
Notice💣
positional arguments must be required
demo(1, 2) # Boom!💣, raise `ArgumentError`
instance.demo(1, 2) # Boom!💣, raise `ArgumentError`
default value is also not supported
@dispatch
def demo(a, b=1): # Boom!💣, raise `ExistDefaultValue`
return 'hello'
class Demo(object):
@dispatch
def demo(self, a, b=1): # Boom!💣, raise `ExistDefaultValue`
return 'hello'
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
arg_dispatch-0.1.3.tar.gz
(14.9 kB
view details)
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 arg_dispatch-0.1.3.tar.gz.
File metadata
- Download URL: arg_dispatch-0.1.3.tar.gz
- Upload date:
- Size: 14.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.17 CPython/3.6.6 Darwin/18.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af1450b39935788eb494fed963c05fd43b4fb8254feffd15c7b8af31fa8f5a01
|
|
| MD5 |
ee9fb2b7c2c65bd07f6eb8bfdcda379a
|
|
| BLAKE2b-256 |
c38e753b85f970403f650fab1f5046fbef92a6a0f7ed09edac9845a08ff24234
|
File details
Details for the file arg_dispatch-0.1.3-py3-none-any.whl.
File metadata
- Download URL: arg_dispatch-0.1.3-py3-none-any.whl
- Upload date:
- Size: 15.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.17 CPython/3.6.6 Darwin/18.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad8125affea7ac7a118913ede1fed11d6c596d3eac7b99051040d50e0ccab7c9
|
|
| MD5 |
ffe1caf9c6c5103c0b099f623d29c62d
|
|
| BLAKE2b-256 |
03cffd6a9adf5de3da5b579b582759adedf77574bc753eab3b58ef06aad81b87
|