Python一个函数怎么调用后面一个函数里面的值

下面是我自己写的,很烂,也不能运行,,,,
最终结果是下面两个函数的输出值相乘。
前面的函数为 :
.........
1 def name1(b):
2 return ((b **M) * math.log(b))

3data = np.array(U)
4data = np.ravel(data)
5result = np.array([[name1(x) for x in data]])
.........
后面的函数为:
............
1 A=[2]
2 H=[1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0,2.1]
3 for i in A:
4 for j in H:
5 final_location,C = fuzzy(data,i,j)
6 print(i,j)
7 M=j
8 final_location = de_randomise_data(final_location, order)
.............
下面的函数运行时,顺序为(2,1.2)(2,1.3)...(2,2.1)。
目的是,整体运行时下面的函数计算(2,1.2)时,想让 return ((b **M) *里的M为1.2,下面的函数计算(2,1.3)时,想让 return ((b **M) *里的M为1.3。
请问应该怎么实现啊?该怎么改?谢谢回答!

你不懂就去学习python的变量作用域。不是光靠试就能试出结果的,要明白具体的机制。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-13
可以考虑把函数里需要用的局部变量用global声明为全局变量。
第2个回答  2019-07-13
你好
可以写入类的内部变量,一起调用访问
谢谢采纳,祝您生活愉快天天开心(∩_∩)
相似回答