通过Python中的几个函数传递参数

时间:2016-11-17 15:56:24

标签: python functional-programming

这是一个与最佳实践相关的问题。

我们说我有以下代码:

def clean_text(text, idx):
   title = sqlalchemy.query("SELECT title FROM page_titles WHERE id = %s" % idx)
   return {title: text}

def scrape_webpage(idx):
   """ do some stuff here"""
   response = requests.get(link)
   return clean_text(response.text, idx)

def main():
   for idx in range(10):
      scrape_webpage(idx)

if __name__ == '__main__':
   main()

我对此代码的主要问题是需要一些有状态(即idx),它只是通过scrape_webpage传递。您可以想象,如果在调用clean_text()之前有许多函数,则idx必须通过所有函数而不在其中任何函数中使用。

有没有更好的方法clean_text可以知道循环的状态而不将其作为参数传递(顺便说一下,通过所有使用它的函数)?也许发电机或回调?希望得到一个例子。

0 个答案:

没有答案