Python:使用从一个函数返回的值到另一个函数

时间:2019-08-07 15:19:39

标签: python

使用简单的功能,我可以获取存储在响应变量中的数据。使用打印语句,我可以正确显示数据。

ec2_client = boto3.client("ec2")
def instance_list(instance_name):
    response = ec2_client.describe_instances(
        Filters=[
            {
                'Name': 'tag:Name',
                'Values': [ instance_name ]
            }
        ]
    )['Reservations']
    return response
    #print(response)

if __name__ == '__main__':
    my_instance_list = instance_list("example-*")

但是,当尝试将上述函数的response值导入另一个函数时,错误为NameError: name 'response' is not defined

def my_list():
    list = instance_list(response)
    print(list)

看起来像是无法识别的东西。

2 个答案:

答案 0 :(得分:2)

例如,您需要将变量传递给下一个函数

my_list(instance_list())

答案 1 :(得分:0)

基本思想是将一个函数的返回值用于另一个函数

您的功能应为:

def my_list():
    # List is equal to the response value of instance list.
    list = instance_list("example-*")

    print(list)

简单的例子

def add_five_to_number(number):
   number += 5
   return number

def print_number(number):
   higher_number = add_five_to_number(number)   
   print(higher_number)

test_number = 3
print_number(test_number)

# Returns 8