If I’ve defined a function in the Python REPL, I can read its definition with inspect.getsource.

>>> def greet(name):
    print(f"Hello, {name}!")
>>> import inspect
>>> inspect.getsource(greet)
'def greet(name):\n    print(f"Hello, {name}!")\n'

And print it, too:

>>> print(inspect.getsource(greet))
def greet(name):
    print(f"Hello, {name}!")