无法将一个变量值从一个函数传递给另一个函数

时间:2015-08-10 04:12:09

标签: python python-2.7

在我的代码中,在声明全局变量prime之后,它应该取第一个值并添加到第二个,并且在执行之后我应该得到像[1,2,3,7]这样的数组。但是当我打印第二个功能时,我只得到[3,7]。知道我哪里错了吗?这是我的代码:

import numpy as np 

prime = []  
nprime = []


def first():
    global prime
    global nprime
    prime = np.append(1, 2)
    nprime = np.append(6, 4)
    return (prime, nprime)


def second():
    global prime
    prime = np.append(3, 7)
    return prime


A = second()
print A

1 个答案:

答案 0 :(得分:2)

假设您在程序中调用了disallow,则会出现问题 -

first()

您正在创建新列表 - np.append(3,7) - 并将其分配给[3,7]变量。这不会附加到现有的素数。

我甚至不确定您使用prime的原因,如果您想将单个值附加到简单列表,请使用np.append(),如果您想将多个值附加到简单列表中使用{ {1}}。示例 -

list.append()

话虽如此,实际上并不推荐使用全局变量,更简单的方法就是从第一个函数返回值并将其作为参数传递给第二个函数,例如 -

list.extend()

这是一个非常简单的例子,不知道你想用它做什么。