首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python高级篇:通过web路由的案例形式引入反射机制

在python面向对象的学习中,有一个概念非常重要,那就是“反射”。相信对编程语言有所了解的朋友来说这个概念并不陌生,编程语言中的术语往往是不太好理解的。本文并不打算对“反射”这个概念进行解释剖析,而是以模拟web路由的案例去阐述反射在python中的一个应用场景。

一、案例分析

以web开发中的用户模块为例,有登录,注册,退出等操作,对于这些操作实际上往往对应了相应的url地址,而每一个url地址的背后实质上是对应了相应的功能,我们可以理解成每一个功能对应一个函数,调用不同的函数从而实现不同的操作。思路延伸来去思考,程序可以根据用户输入不同的url去调用不同的函数,进而执行不同的功能,这个其实就是url的路由功能。以下是一个简单的小案例,如下:

1、编写用户模块,分别有login、logout、register三个函数,分别实现不同的功能。如下图所示:

2、编写程序入口模块。此模块可以接收用户的输入url地址的不同执行不同的函数功能。如下图所示:

3、运行main.py这个模块,输入不同的url就可以调用不同的函数(这个url地址恰好是函数的名称),这个呢就实现了简单了web路由功能。

二、总结

上面的这种方式非常容易理解,但是有个问题没有解决,那就是如果关于用户模块有上百个函数,那么在main.py模块里难道就要写成百个if...elif条件判断吗?显然是不太可能的,那么该怎么解决呢?

答案是:通过反射机制来解决。如何做且听下回分解。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190717A0HOBN00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券