如何以创建多个函数但不必一次又一次编写相同代码的方式编写代码?

Pra*_*wol 2 python function

我让所有这些函数都执行类似的任务。如何编写代码以创建所有这些函数,但不必一次又一次地编写相同的代码?

def get_civilservice_result(user_skill_string): 
    civilservice_keyword = firestore.client().collection('keyword').document('civilservice').get().to_dict()['key']
    civilservice_keyword_string = ' '.join(str(e) for e in civilservice_keyword)
    result = get_result(user_skill_string, civilservice_keyword_string)
    return result


def get_education_result(user_skill_string): 
    education_keyword = firestore.client().collection('keyword').document('education').get().to_dict()['key']
    education_keyword_string = ' '.join(str(e) for e in education_keyword)
    result = get_result(user_skill_string, education_keyword_string)
    return result

    
def get_engineering_result(user_skill_string): 
    engineering_keyword = firestore.client().collection('keyword').document('engineering').get().to_dict()['key']
    engineering_keyword_string = ' '.join(str(e) for e in engineering_keyword)
    result = get_result(user_skill_string, engineering_keyword_string)
    return result
Run Code Online (Sandbox Code Playgroud)

Ami*_*ahi 5

您可以使用更多输入变量来更改函数根据其输入执行的操作。像这样:

def get_result_(user_skill_string, document_type: str): 
    engineering_keyword = firestore.client().collection('keyword').document(document_type).get().to_dict()['key']
    engineering_keyword_string = ' '.join(str(e) for e in engineering_keyword)
    result = get_result(user_skill_string, engineering_keyword_string)
    return result
Run Code Online (Sandbox Code Playgroud)