python的函数嵌套,ticker是怎么对应到tickers的?

问题遇到的现象和发生背景

初学使用python通过tushare调取股票数据,尝试调取多条数据,看到一个教程给出的代码如下:

问题相关代码,请勿粘贴截图
def multi_stocks(tickers):
    def data(ticker):
        stocks = pro.daily(trade_date='ticker')
        return stocks
    datas = map(data, tickers)
    return pd.concat(datas,keys=tickers)

tickers = ['000001','000002','600030']
all_stocks = muti_stocks(tickers)
问题: 不理解调用的时候是传入了tickers,但是内部函数的参数ticker,python是怎么知道是指tickers里的每一条数据呢?

ticker是指代传入参数的,整整传入的是下方的调用

img


map函数是遍历第二个参数,依次传入第一个参数对应的函数进行处理,这里即将tickers中的每一条元素传入data函数处理
有帮助望采纳~

关键是理解map函数的作用。map第一个参数为函数,第二个参数为可迭代对象。例中map就是将列表对象tickers每个元素映射到函数data上,实现每个ticker数据调用。

datas = map(data, tickers)

等价于
datas=[]
for ticker in tikers:
datas.append(data(ticker))

多谢几位老师