我得到错误:"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)
而不是最后两行