簡體   English   中英

我可以將包含函數的所有參數的變量傳遞給python中的函數嗎?

[英]Can i pass a variable which contains all parameters for a function to a function in python?If yes, then how?

假設有以下功能:

def write_form(username="", email="", username_error="", email_error="", password_error_one="", password_error_two="" ):
    response.out.write(user_signup_form %{ "username": username, 
                                                "email": email,
                                                "username_error" : username_error,
                                                "email_error" : email_error,
                                                "password_error_one" : password_error_one,
                                                "password_error_two" : password_error_two })

我想通過以下方式致電:

s='user_username,user_email, email_error="email_error", password_error_one="password_error_1"'
write_form(s)

代替:

write_form(user_username,user_email, email_error="email_error", password_error_one="password_error_1")

有可能這樣做嗎?

您可以使用字典,然后像這樣解壓縮

s={"username":"username",
   "email":"a@b.com",
   "email_error":"email_error",
   "password_error_one":"password_error_1"}


def write_form(username="", email="", username_error="", email_error="",
        password_error_one="", password_error_two = ""):
    print username, email, email_error, password_error_one, password_error_two

write_form(**s)

“我的函數需要大量參數”的經典解決方案是將這些參數移入一個對象,並使該函數成為該對象的方法。

看起來您正在處理Web表單。 已經有很多庫可以簡化此過程。 值得注意的是,Django框架具​​有廣泛的庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM