What would be the naming conventions in Python for functions that can return a modified object or that just modifies the instance.
Let's assume you want to implement both, how you should name the functions?
Example: Let's assume that you want a crop()
function for an Image object. I Ruby it was simple because you should use crop()
if you return a copy and crop!()
if you modify the original instance.
Not sure if there is a precise guideline in some PEP, but looking at how certain functions/method work in python core I personally use verb conjugation. For example, inspired by:
I would name your functions
crop()
[modify object in place] andcropped()
[return a modified copy].EDIT: I don't know ruby, but in python the distinction between the two is purely conventional (function / method behaviour is independent from how you call it).
HTH!