python中通过字典实现函数指针

本文介绍了一种使用字典的key-value映射来替代传统if语句的方法,通过将函数引用作为字典的value,实现了类似C语言中函数指针的功能。这种方法不仅提高了代码的可读性和维护性,还展示了Python装饰器和动态编程的魅力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用字典的key-value代替if语句;并且value为函数的引用,实现c语言中函数指针的思想。

URL_FUNC_DICT= dict()  # 全局变量;将函数引用保存为字典的value

def route(url):  
	def set_func(func):
		URL_FUNC_DICT[url] = func
		def call_func(*args, **kwargs):		
			return func(*args, **kwargs)
		return call_func
	return set_func

@route("/index.py")  # 带参数的装饰器
def index():
	with open("./templates/index.html") as f:
		content = f.read()
	
	my_stock_info = "哈哈哈哈 这是你的本月名称...."
	
	content = re.sub(r"\{%content%\}", my_stock_info, content)
	
	return content

@route("/center.py")
def center():
	with open("./templates/center.html") as f:
		content = f.read()

	my_stock_info = "这里是从mysql查询出来的数据。。。"
	
	content = re.sub(r"\{%content%\}", my_stock_infor, content)

	return content

try:
	return URL_FUNC_DICT[file_name]  # 代替if语句,由字典key-value映射关系代替if语句
except Exception as ret:
	return "产生了异常:%s" % str(ret)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值