全局变量vs getter函数vs函数变量

2024-09-21 03:23:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个可以用多种方式实现的场景。我需要建议哪一种是更优化的/python实现方式,为什么

让我们考虑嵌套函数调用 功能1->;funca2->;funca3->;funca4 funcb1->;funcb2->;funcb3->;funcb4

if __name__ == "__main__":
    funca1()
    funcb1()

varx变量仅由funca4和funcb3使用/或需要。 那么我们有以下几种选择

  1. 将varx创建为全局变量,并使用它funca4和funcb3,而不通过所有函数
  2. 在所有函数中传递varx变量,即使它只在两个函数中使用
  3. 创建另一个函数get_varx()函数,并仅在funca4、funcb4中使用此函数

这也可以通过创建类并将varx指定为属性来实现。但目前的项目设计不允许这样做


Tags: 函数gt功能方式场景建议函数调用varx
2条回答

优化是相对的

您可以通过以下方式进行优化:-

  1. 您的代码将具有更少的行/字符

  2. 你想要最小的内存消耗

  3. 你需要最少的时间

最短时间是另一个函数方法

最小内存和最小行数将是全局变量

通过all传递一个变量是不必要的,它会在每个局部范围中复制变量,从而消耗大量内存,因此应该避免这种情况

我使用您给出的场景运行了一个演示代码,并使用time模块对执行时间进行了计时,获得了以下结果:

最快执行排名:

  1. 创建另一个函数以获取值
  2. 正在将varx创建为全局变量
  3. varx变量ACC传递给所有函数

相关问题 更多 >

    热门问题