Создает список элементов, где каждый элемент представляет собой «_», за которым следует буква в нижнем регистре, если символ изначально был заглавной буквой, или сам символ, если это не так.Затем он объединяет их в строку и удаляет все начальные подчеркивания, которые могли быть добавлены процессом:
print ''.join('_' + char.lower() if char.isupper() else char
for char in inputstring).lstrip('_')
Кстати, вы не указали, что делать с подчеркиваниями, которые уже присутствуют в строке,Я не был уверен, как справиться с этим делом, поэтому я наказал.