[Python-ideas] Pre-conditions and post-conditions

Ethan Furman ethan at stoneleaf.us
Thu Aug 30 17:01:18 EDT 2018


On 08/30/2018 01:49 PM, Marko Ristin-Kaufmann wrote:

> classC(A):
>      # C.some_func also inherits the contracts from A.
>      #   It weakens the precondition:
>      #       it operates either on sorted lists OR
>      #           the lists that are shorter than 10 elements.
>      #
>      #  It strenghthens the postcondition:
>      #       It needs to return an integer larger than
>      #       the length of the input list AND
>      #           the result needs to be divisible by 2.
>      @icontract.post(lambdaresult: result %2==0)
>      defsome_func(self, lst: List[int]) ->int:
>          # ...

I think you forgot an @icontract.pre() here.

--
~Ethan~


More information about the Python-ideas mailing list