Python:依赖于调用函数的If-Else语句

Python:依赖于调用函数的If-Else语句,python,if-statement,Python,If Statement,我思考这个问题已经有一段时间了,我似乎找不到任何与之相关的问题,可能是因为我不知道我要找的是什么合适的术语 函数中的if-else语句是否有任何条件依赖于执行调用的其他函数?例如: def FUNC(): if func1 called FUNC: statement elif func2 called FUNC: statement def func1(): FUNC() def func2(): FUNC() 我不确定这样

我思考这个问题已经有一段时间了,我似乎找不到任何与之相关的问题,可能是因为我不知道我要找的是什么合适的术语

函数中的if-else语句是否有任何条件依赖于执行调用的其他函数?例如:

def FUNC():
    if func1 called FUNC:
        statement
    elif func2 called FUNC:
        statement

def func1():
    FUNC()

def func2():
    FUNC()

我不确定这样做的目的是什么,但我只是想知道这是否是一个可行的选择。多谢各位

解决方案:传递参数

def FUNC(who_called_me):
    if who_called_me == 'func1':
        # statement
    elif who_called_me == 'func2':
        # statement

def func1():
    FUNC(who_called_me='func1')

def func2():
    FUNC(who_called_me='func2')

参数(
谁叫我
)不必是
字符串
,也可以是
整数
布尔值
对象

可能传递不同的参数?传递每个函数唯一的
参数
,并使用该参数识别调用发生的位置。这就是
参数
的用途。将一个参数传递给你的函数,告诉它从哪里调用的。从技术上讲,你可以获取调用堆栈,找到最近的调用帧并使用它。。。除了分析或类似的情况之外,您需要执行此操作的真实案例数量几乎为零。此外,如果您编写的函数关心谁调用了它们以及从何处调用它们,那么您应该重新考虑设计:)