2017-10-08 2 views
0

タイトルが非常に正確かどうかわかりません。
私は5つの方法がWebサイトの異なるWebサイトを持っています。それぞれの関数は次のようになります。変数付きのPython呼び出しメソッド

各関数は辞書のリストを返します。
私は、この関数を呼び出し、別の機能があります:私はCreateArticle(website_number)を呼び出すことができるようにしたい

def CreateArticle(website_number, slug): 
    website = Website.objects.get(slug=slug) 
    last_article = website.last_article 
    data = getWebsiteData1(last_article) # here i want to do something like 
    data = website_number(last_article) # but ofcourse this doesnt work 
    if len(data) == 0: 
     return "No news" 
else: 
    for i in data: 
     article = Article(service=service) 
     article.title = i['title'] 
     article.url = i['link'] 
     article.code = i['link'] 
     article.save() 
    service.last_article = data[0]['link'] 
    service.save(update_fields=['last_article']) 
    return data[0]['link'] 

をし、それが呼び出す必要がありgetWebsiteData機能この機能を教えてくれたので、私は一つだけCreateArticleの機能を持っていることができませんでした各webscrapperには別のCreateArticle関数があります。 私の質問がはっきりしていることを願っています:D

答えて

2

Pythonの関数はファーストクラスであり、引数として他の関数に渡すことができます。 B内で呼び出されるよう

def a(): 
    print("x") 

def b(some_function): 
    some_function() 

次いで

b(a) 

は "X" を出力します。

どの機能を使用するかを決定し、使用するために渡すことができます。

関連する問題