普通小明
2022-05-06 23:49
采纳率: 100%
浏览 21

关于Python引用全局变量和局部变量的效率问题

检测均为处理数组数据,分为在函数内处理和在主函数处理同样的功能
问题为:原本在函数内调用局部变量效率高,所以加法操作局部变量中用时少,为什么而次方操作用时多
测试1处理为十次方
测试2处理为加法操作
以下为测试1

from time import time
def cc(x):
    for i in range(len(x)):
        x[i]**=10
    return
res=[i for i in range(1000000)]
a=time()
for i in range(len(res)):
    res[i]**=10
print(time()-a)
b=time()
res=cc(res)
print(time() - b)
'''
输出
0.4724574089050293 #主函数处理段运行时间
1.9870216846466064 #函数处理段运行时间
'''

以下为测试2

from time import time
def cc(x):
    for i in range(len(x)):
        x[i]+=ord('a')
    return
res=[i for i in range(10000000)]
a=time()
for i in range(len(res)):
    res[i]+=ord("a")
print(time()-a)
b=time()
res=cc(res)
print(time() - b)
'''
输出
1.774261474609375 #主函数处理段运行时间
1.3109838962554932 #函数处理段运行时间
'''

1条回答 默认 最新

相关推荐 更多相似问题