为什么 Python 库经常使用重复的命名方案,例如 getpass.getpass() 或 datetime.datetime()?

问题描述 投票:0回答:1

我注意到 Python 标准库中的一种模式,其中模块名称经常在其主要函数或类中重复。例如:

  • datetime.datetime()
  • getpass.getpass()
  • time.time()
  • socket.socket()
    等等

为什么要这样设计?是否存在设计模式或存在这种(在我看来)令人困惑的名称方案的原因?由于重复的命名方案,我经常对我使用的确切名称空间感到困惑。

python python-module
1个回答
0
投票

这对我来说是一样的,但实际上这是有道理的:

  1. 您引用模块
    time()
    的函数
    time
    以避免名称冲突。
  2. 此类模块的主要功能是模块的名称,否则您的模块或函数的名称将无法描述,从而导致代码不可读。
  3. (我也开始在自己的模块中做同样的方案)

什么是更好的选择?

© www.soinside.com 2019 - 2024. All rights reserved.