【发布时间】:2025-12-24 10:55:15
【问题描述】:
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,操作会发生变化。
【问题讨论】:
-
定义一个内部函数?
-
你可以使用辅助函数
-
定义内部函数可能可行,但我希望有一个简单的语法答案来定义不可用的参数。
-
该语法如何工作?该函数如何知道是“用户”调用了它,还是另一个函数调用了它?
-
为具有所需签名的客户端代码提供另一个功能是直接的解决方案。 Python 代码中没有私有成员,您仍然可以考虑将这些函数放在模块中,并使用下划线前缀命名内部函数。但这只是客户端代码应该尊重的约定。
标签: python function lambda functional-programming