exctac,
1) нужно выпилить pep-8 из тегов
2) тут вопрос не в конвенциях а в логике вашего приложения
если функция get_default_sound по сути статическая или должна шариться между классами - то почему бы не иметь ее в одном экземпляре на уровне модуля
если же она ни с кем не шарится - желательно не выносить ее за область видимости класса
как говорили классики "держите определение как можно ближе к использованию". это касается не только расположения строчек кода но и расположение в стопке областей видимости
так что как по мне то тут вопрос не в соглашениях а именно в архитектуре вашего приложения
если хотите быть consistent с django то вот взгляните например сюда
https://docs.djangoproject.com/en/2.0/ref/contrib/...
тут как раз оба варианта представлены
class A(object):
@staticmethod
def get_val():
return 42
val = get_val.__func__()
print A.val