Python全局变量未在定义内更新

2024-10-02 22:30:59 发布

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

我对Python编程比较陌生。我遇到了一个问题,我定义为全局的变量在定义中没有更新。我(尽管我尽了最大的努力)不能把可能出错的事放在心上

代码如下:

import math
import numpy as np
arraySize = 10
arrayPrecision = 0.1
array = []
x = 0
f_x = x

def arrayMaker():
   global x
   global f_x
   for n in np.arange(-arraySize/2, 0, arrayPrecision):
       x = n
       array.append(f_x)
   for n in np.arange(0, (arraySize/2)+0.1, arrayPrecision):
       x = n
       array.append(f_x)
   print(array)

arrayMaker()

当我运行这段代码时,它会打印一个填充了零的数组,表达式f\u x返回0

任何帮助都将不胜感激


Tags: 代码inimportfor定义编程nparray
1条回答
网友
1楼 · 发布于 2024-10-02 22:30:59

从评论来看,你似乎误解了一些事情,但这里是你想要的。实际上,您正在寻找f_x的后期评估。从名称上看f_x实际上是一个函数,所以应该像函数一样定义它。这是你的密码

import math
import numpy as np
arraySize = 10
arrayPrecision = 0.1
array = []
x = 0
f_x = lambda x: 3*x+4

def arrayMaker():
   for n in np.arange(-arraySize/2, 0, arrayPrecision):
       x = n
       array.append(f_x(x))
   for n in np.arange(0, (arraySize/2)+0.1, arrayPrecision):
       x = n
       array.append(f_x(x))
   print(array)

arrayMaker()

相关问题 更多 >