Не уверен, есть ли в каком-то PEP точное руководство, но, глядя на то, как определенные функции / методы работают в ядре Python, я лично использую спряжение глагола . Например, вдохновленный:
>>> l = list('hello world')
>>> l
['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']
>>> sorted(l)
[' ', 'd', 'e', 'h', 'l', 'l', 'l', 'o', 'o', 'r', 'w']
>>> l
['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']
>>> l.sort()
>>> l
[' ', 'd', 'e', 'h', 'l', 'l', 'l', 'o', 'o', 'r', 'w']
Я бы назвал ваши функции crop()
[изменить объект на месте] и cropped()
[вернуть измененную копию].
РЕДАКТИРОВАТЬ: Я не знаю ruby, но в python различие между ними является чисто условным (поведение функции / метода не зависит от того, как вы его называете).
НТН!