在 python 中编写函数调用后,是否有一些语法机制来编写函数定义?

is there some syntax mechanist to write a function definitions after writing the function call in python?

javascript中的函数提升允许我们做这件事,这对代码可读性来说是很棒的:

function f(a,b){
    return divide(a,b)*a
    
    function divide(a,b){
        return a/b
    }
}

Haskell 允许我们用“where”做这样的事情。 python 是否有任何允许这样做的语法机制?

没有您要查找的吊装类型。

Python 进行一些提升,例如在块中声明的变量(如 for 循环变量)被提升到块所在的范围。

但是您不能在变量(或其他名称,如函数)被赋值或定义之前引用它。

如果你想要这样的代码顺序,这是一种解决方法,但这对可读性几乎没有帮助:

def f(a, b):
    def _f():
        return divide(a, b)*a

    def divide(a, b):
        return a / b
    return _f()


print(f(10, 5))
}

更一般地说,不要试图将一种语言的约定强加于另一种语言 - 使用具有您喜欢的约定的语言,或者学习您使用的语言的约定。阅读您代码的其他编码人员(包括未来的您)会感谢您。