Lambda with math operators support
Project description
Install
pip3 install pro_lambda
Documentation
You can find documentation here
Description
pro_lambda make it possible to modify your functions with standart mathematical and logical operators:
from pro_lambda import pro_lambda
some = pro_lambda(lambda : 1)
other = some + 1
# then we call result as if it was (lambda: 1)() + 1
assert other() == 2
some = pro_lambda(lambda x, y: x+y)
other = some + 1
# here we pass some arguments
assert other(1, 2) == 4
# we can also use another function on the right side
other = some + (lambda z, y: z - y)
assert other(1, y = 2, z = 3) == 4
It also supports async functions:
import asyncio
from pro_lambda import pro_lambda
async def main():
async def _some(x):
await asyncio.sleep(0.3)
return x
_save = _some
some = pro_lambda(_some)
other = some + (lambda: 1)
assert some.is_async
assert await other(1) == 2
some = pro_lambda(lambda : 1)
other = some + _some
assert other.is_async
assert await other(x=1) == 2
some = pro_lambda(_some)
other = some + _some
assert other.is_async
assert await other(x=1) == 2
other = some == 1
assert other.is_logical
assert await other(1)
assert not await other(2)
asyncio.run(main())
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
pro_lambda-0.1.6.tar.gz
(4.1 kB
view details)
File details
Details for the file pro_lambda-0.1.6.tar.gz.
File metadata
- Download URL: pro_lambda-0.1.6.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc0c914987120094dab07a1c09999203455e333f7b4fa95a3e30c1a80a2922c6
|
|
| MD5 |
67c14d0e49a285327aebb369dd97b701
|
|
| BLAKE2b-256 |
4e9a154ec4a83523da4cf6b4735fde175f70b78c29844db75c77cac1950a26b0
|