Я пытаюсь создать учебник для библиотеки с Streamlit. Моя общая идея состоит в том, чтобы пройтись по различным функциям и классам и объяснить их вместе с пользовательским вводом, чтобы все стало немного более понятным для новичков. Тем не менее, я написал 5 руководств ранее для более опытных пользователей и хотел бы повторно использовать часть этого кода, вызывая его из моего приложения и поддерживая его только один раз.
Кроме того, я прохожу через множество функций и классов, примеры файлов конфигурации, например. и я звоню им из диктофона.
Поскольку Streamlit предлагает с st.echo возможность запускать код, а затем отображать его, я пробовал это. Также я пытался использовать элемент python inspect вместе с st.write. Однако st.echo просто отображает имя функции, а st.write вместе с inspect просто отображает строку.
display_code = st.radio("Would you like to display the code?", ("Yes", "No"))
if display_code == "Yes":
with st.echo():
example_function_1()
else:
example_function_1()
В основном я ищу возможность передать функцию и на основе пользовательского ввода просто запустить ее или запустить и отобразить код и комментарии к нему.
Таким образом, если пользователь выбрал «Да», будут возвращены выходные данные, а также x, y.
def example_function_1():
"""
This is and example functions that is now displayed.
"""
Some Magic
return x, y
И если пользователь выбрал Нет, то возвращаются только x, y