如何在函数中定义一个新的参数并在以后使用它?



我得到错误:"AttributeError: 'function' object没有属性'requestrongymbol'"运行我的代码时。有人能解释一下我如何在def中定义新的参数,然后再使用它吗?

def request_income_statement (symbol, api_key):
url = 'https://www.alphavantage.co/query?function=INCOME_STATEMENT&symbol=' + symbol + '&apikey=' + api_key
r = requests.get(url)
data_IS = r.json()
request_symbol = data_IS.get('symbol')
return request_symbol
request_income_statement(symbol, api_key)
print(request_symbol)

您正确地从函数返回值,最后一行return request_symbol

但也许你的困惑是,只有返回,而不是变量,即名称request_symbol不存在于函数之外。

当你调用这个函数request_income_statement(symbol, api_key)……该语句本身返回一个值(从函数返回的值),但当前没有将该值赋给任何var名。

试试这个:

def request_income_statement (symbol, api_key):
url = 'https://www.alphavantage.co/query?function=INCOME_STATEMENT&symbol=' + symbol + '&apikey=' + api_key
r = requests.get(url)
data_IS = r.json()
request_symbol = data_IS.get('symbol')
return request_symbol
myvar = request_income_statement(symbol, api_key)
print(myvar)

你现在看到值如何在不同的变量名之间移动了吗?

当然,您也可以重用request_symbol名称,如:

request_symbol = request_income_statement(symbol, api_key)
print(request_symbol)

但重要的是要注意,名字request_symbol以外的函数是一个不同的变量在函数。

我会说,您需要将requestrongymbol分配给函数之外的变量。

试试这样写:

result = request_income_statement(symbol, api_key)
print(result)

而不是最后两行

最新更新