Naming convention for methods whether they change an object or return changed object
Here is my convention which has served me well in all programming languages I have used:

A function with no side-effects which returns a truth value should be named after the property it queries and use an adjective as the last word, e.g. sorted or items_sorted.
A function with no side-effects which returns a non-truth value should be named after the result it returns and use a noun as the last word, e.g. sorted_items.
A function with side-effects should be named after what it does and use a verb as the first word, e.g. sort or sort_items.

Rule 1 and 2 is also applicable to variable names.
In your concrete example i would use the identifier invert for the method which inverts a permutation, and inverse for a method which returns the inverse of a permutation.
As it is said in the headline, is there that kind of naming convention, especially in python?
For example there are functions in python sorted (function that returns changed object, but doesn't change object) and list or numpy.ndarray method sort (returns nothing, but changes the object).
But for reversed and list.reverse functions it's not quite the case, reversed returns iterator.
In my case I have Permutation class and I want to add inverse functions for these two cases. Should I name them inverted and inverse (last one will be out of class) or like get_inv and set_inv respectively, because these methods are just like getters and setters (which is also quite true for sorted and sort)?