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
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 |