Python 有没有办法限制特定函数调用的函数?
是否有方法限制特定函数调用的函数Python 有没有办法限制特定函数调用的函数?,python,Python,是否有方法限制特定函数调用的函数 如果你要这么做,为什么不直接把private的代码放在a里面呢?如果没有一些可怕的检查体操的话。你为什么要这个?为什么不在需要调用的地方调用函数,而不是在不需要调用的地方调用函数呢?在我的代码中,函数是对象方法,当它们分开时会更有组织性,我还可能希望def c()调用private()。我想你可以使用private()中的这个函数来过滤掉不允许调用它的函数。编辑:看来亨利赢了我。 def a(): private() # okay def b():
如果你要这么做,为什么不直接把
private
的代码放在a
里面呢?如果没有一些可怕的检查
体操的话。你为什么要这个?为什么不在需要调用的地方调用函数,而不是在不需要调用的地方调用函数呢?在我的代码中,函数是对象方法,当它们分开时会更有组织性,我还可能希望def c()调用private()。我想你可以使用private()中的这个函数来过滤掉不允许调用它的函数。编辑:看来亨利赢了我。
def a():
private() # okay
def b():
private() # raises error
def private():
print "private"
import inspect
def private():
cframe = inspect.currentframe()
func = inspect.getframeinfo(cframe.f_back).function
if func != 'a':
print 'not allowed from ', func
print "private"