libfuncpy API¶
Contain functions.
- libfuncpy.lib.ITE(iflogic, assertion, elselogic)¶
Apply ternary operator logic executing functions.
Functions should be preconfigured and accept no arguments.
Better if you see the code:
return iflogic() if assertion() else elselogic()
- libfuncpy.lib.ITEX(x, iflogic, assertion, elselogic)¶
Apply ternary operator logic executing functions.
Functions should receive a single value: x.
Better if you see the code:
return iflogic(x) if assertion(x) else elselogic(x)
- Parameters
x – The value to pass to each function.
- libfuncpy.lib.chainf(init, *funcs)[source]¶
Run functions in sequence starting from an initial value.
Example
>>> chainf(2, [str, int, float]) 2.0
- libfuncpy.lib.chainfs(*funcs)[source]¶
Store functions be executed on a value.
Example
>>> do = chainfs(str, int, float) >>> do(2) 2.0
- libfuncpy.lib.consume(gen)[source]¶
Consume generator in a single statement.
Example
>>> consume(generator)
- libfuncpy.lib.context_engine(func, exceptions, doerror, doelse, dofinally, *args, **kwargs)[source]¶
Make a context engine.
- libfuncpy.lib.f1f2(f1, f2, *a, **k)[source]¶
Apply one function after the other.
Call f1 on the return value of f2.
Args and kwargs apply to f2.
Example
>>> f1f2(str, int, 2) "2"
- libfuncpy.lib.f2f1(f1, f2, *a, **k)[source]¶
Apply the second function after the first.
Call f2 on the return value of f1.
Args and kwargs apply to f1.
Example
>>> f2f1(str, int, 2) 2
- libfuncpy.lib.give(value)[source]¶
Preare a function to return a value when called.
Ignore *args and **kwargs.
Example
>>> true = give(True) >>> true() True
>>> five = give(5) >>> five(4, 6, 7, 8, some_args='some string') 5
- libfuncpy.lib.if_elif_else(value, condition_function_pair)[source]¶
Apply logic if condition is True.
- Parameters
value (anything) – The initial value
condition_function_pair (tuple) – First element is the assertion function, second element is the logic function to execute if assertion is true.
- Returns
The result of the first function for which assertion is true.
- libfuncpy.lib.ite(iflogic, assertion, elselogic)¶
Apply ternary operator logic executing functions.
Functions should be preconfigured and accept no arguments.
Better if you see the code:
return iflogic() if assertion() else elselogic()
- libfuncpy.lib.itev(x, iflogic, assertion, elselogic)¶
Apply ternary operator logic executing functions.
Functions should receive a single value: x.
Better if you see the code:
return iflogic(x) if assertion(x) else elselogic(x)
- Parameters
x – The value to pass to each function.
- libfuncpy.lib.make_iterable(value)[source]¶
Transform into an iterable.
Transforms a given value into an iterable if it is not. Else, return the value itself.
Example
>>> make_iterable(1) [1]
>>> make_iterable([1]) [1]
- libfuncpy.lib.mapc(f, *iterables)[source]¶
Consume map function.
Like map() but it is not a generator; map is consumed immediately.
- libfuncpy.lib.reduce_helper(value, f, *a, **k)[source]¶
Help in reduce.
Helper function when applying reduce to a list of functions.
- Parameters
value (anything)
f (callable) – The function to call. This function receives value as first positional argument.
*a, **k – Args and kwargs passed to f.
- libfuncpy.lib.ternary_operator(iflogic, assertion, elselogic)[source]¶
Apply ternary operator logic executing functions.
Functions should be preconfigured and accept no arguments.
Better if you see the code:
return iflogic() if assertion() else elselogic()
- libfuncpy.lib.ternary_operator_v(x, iflogic, assertion, elselogic)[source]¶
Apply ternary operator logic executing functions.
Functions should receive a single value: x.
Better if you see the code:
return iflogic(x) if assertion(x) else elselogic(x)
- Parameters
x – The value to pass to each function.
- libfuncpy.lib.ternary_operator_x(x, iflogic, assertion, elselogic)¶
Apply ternary operator logic executing functions.
Functions should receive a single value: x.
Better if you see the code:
return iflogic(x) if assertion(x) else elselogic(x)
- Parameters
x – The value to pass to each function.
- libfuncpy.lib.vartial(func, *args, **keywords)[source]¶
Prepare a function with args and kwargs except for the first arg.
Functions like functools.partial except that the resulting preprepared function expects the first positional argument.
Example
>>> pow2 = vartial(math.pow, 2) >>> pow2(3) 9 >>> pow2(4) 16
This is different from: >>> pow_base_3 = partial(math.pow, 3) >>> pow_base_3(2) 9 >>> pow_base_3(4) 81
- libfuncpy.lib.whileloop(cond, func, do_stopiteration=<function give.<locals>.newfunc>, do_exhaust=<function give.<locals>.newfunc>)[source]¶
Execute while loop.
All function accept no arguments. If state needs to be evaluated, cond and func need to be synchronized.
- Parameters
cond (callable) – The while loop condition.
func (callable) – The function to call on each while loop iteration.
do_stopiteration (callable) – The function to execute when func raises StopIteration error.
do_exhaust (callable) – The function to execute when while loop exhausts.
- Returns
None