调用函数的一些技巧
无参函数
案例1
优化前的代码
def send_msg():
"""发送短信"""
pass
def send_email():
"""发送图片"""
pass
def send_wechat():
"""发送微信"""
# 执行函数
send_msg()
send_email()
send_wechat()
优化后的代码
def send_msg():
"""发送短信"""
pass
def send_email():
"""发送图片"""
pass
def send_wechat():
"""发送微信"""
pass
func_list = [send_msg, send_email, send_wechat]
for func in func_list:
func()
案例2
优化前的代码
def register():
"""注册功能"""
print("注册功能运行了")
def login():
"""登录功能"""
print("登录功能运行了")
def show_all_users():
"""查看全部用户"""
print("查看全部用户功能运行了")
def remove_user():
"""删除用户"""
print("删除用户功能运行了")
print("请选择:1.注册 2.登录 3.查看全部用户 4.删除用户:")
choice = input("请输入选择的序号:")
if choice == "1":
register()
elif choice == "2":
login()
elif choice == "3":
show_all_users()
elif choice == "4":
remove_user()
else:
print("输入错误")
优化后的代码
def register():
"""注册功能"""
print("注册功能运行了")
def login():
"""登录功能"""
print("登录功能运行了")
def show_all_users():
"""查看全部用户"""
print("查看全部用户功能运行了")
def remove_user():
"""删除用户"""
print("删除用户功能运行了")
function_dict = {
"1": register,
"2": login,
"3": show_all_users,
"4": remove_user
}
print("请选择:1.注册 2.登录 3.查看全部用户 4.删除用户:")
choice = input("请输入选择的序号:")
func = function_dict.get(choice)
if not func:
print("输入错误")
else:
func() # 执行函数
有参函数
案例1
def send_message(phone, content):
"""发送消息"""
pass
def send_image(img_path, content):
"""发送图片"""
pass
def send_emoji(emoji):
"""发送表情"""
pass
def send_file(path):
"""发送文件"""
pass
function_dict = {
"1": [send_message, ["123456789", "你好呀,我是小满!"]],
"2": [send_image, ["xxx/xx/x.jpg", "消息内容"]],
"3": [send_emoji, ["😻"]],
"4": [send_file, ["xx.zip"]]
}
print("欢迎使用xx系统")
print("请选择:1.发送消息 2.发送图片 3.发送表情 4.发送给文件")
choice = input("请输入选择的序号:")
item = function_dict.get(choice) # ["123456789", "你好呀,我是小满!"]]
if not item:
print("输入错误")
else:
# 执行函数
func = item[0] # send_message
param_list = item[1] # ["123456789", "你好呀,我是小满!"]
func(*param_list) # send_message(*["123456789", "你好呀,我是小满!"])
案例2
def send_msg(mobile, content):
"""发送短信"""
pass
def send_email(to_email, subject, content):
"""发送邮件"""
pass
def send_wechat(user_id, content):
"""发送微信"""
pass
func_list = [
{"name": send_msg, "params": {"mobile": "123456789", "content": "你好呀,我是小满!"}},
{"name": send_email, "params": {"to_email": "xxx@126.com", "subject": "报警消息", "content": "服务器又被DDOS了"}},
{"name": send_wechat, "params": {"user_id": "007", "content": "报告夫子!小满又在摸鱼了..."}}
]
# {"name": send_msg, "params": {"mobile": "123456789", "content": "你好呀,我是小满!"}}
for item in func_list:
func = item["name"] # send_msg
param_dict = item["params"] # {"mobile": "123456789", "content": "你好呀,我是小满!"}
func(**param_dict) # send_msg(**{"mobile": "123456789", "content": "你好呀,我是小满!"})
本文作者:小满三岁啦
本文链接:https://www.cnblogs.com/ccsvip/p/17888446.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。