首页 > 解决方案 > 不可用的函数参数

问题描述

Python 函数中是否存在用户无法访问的参数的语法。或者这甚至可能吗?

例如,我想定义一个函数,它只接受用户的一个参数,但需要另一个参数,该函数需要在不同的设置中调用自己,例如:

def function(userEntry, key1 = 0):
    if key1 == 0: #setting 1 
        ##SOME INITIAL OPERATIONS ##
        key1 += 1
        function(userEntry, key1)
    if key1 == 1: #setting 2
        ##FINAL OPERATIONS##
        print('Some function of ' userEntry) 

如果如上所述完成,用户仍然可以访问 key1 并按照他们的意愿初始化程序,但是,我不希望用户能够这样做。我希望用户仅在函数需要根据用户输入和 key1 的条件调用自身时输入 userEntry,操作会发生变化。

标签: pythonfunctionlambdafunctional-programming

解决方案


在调用您在其他任何地方使用的实际函数之前,有一个最终用户调用的函数,它可以满足它的需要。

def userFunc(input):
    # Do stuff
    function(input, key)

def function
    # Does common functionality

推荐阅读