在Python中,将参数的名称与关键字参数名相同是否是不良实践?

3

我用Python 3编写了这段代码;

dotenv_path = r"./../.env"
load_dotenv(dotenv_path=dotenv_path)

请注意,我将包含 .env 文件路径的变量命名为与参数 load_dotenv() 相同的名称。这会导致 ...(dotenv_path=dotenv_path)
这种做法算不算不好的习惯?如果是,那么除了仅仅选择不同的名称之外,还有什么方法可以更清楚地区分变量(不仅仅是在这个特定的上下文中),而不会牺牲代码可读性和/或自我记录的目的?
1个回答

3

考虑到它在主要的 Python 包中经常被使用,因此不太可能被认为是不良做法;例如,请查看随机 pandas 示例 此处(需要一段时间才能跳转到正确的行)。

至于可读性,我认为每当您引用相同的内容时,在两个范围内使用相同的名称会更有益。如果适当的话,您仍然可以使用更具体的名称来引用函数之外的更具体的概念,例如生产环境文件(例如:dotenv_prod_path = r"./../.env.prod"; load_dotenv(dotenv_path=dotenv_prod_path))。

如果您担心减少可读性,因为名称属于哪个范围可能不清楚,我建议保持方法/函数简短并且不使用全局和非本地变量。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接