Python概念-反射之文化底蕴版:反正射了

什么是反射

光在两种物质分界面上改变传播方向又返回原来物质中的现象,叫反射!

以上,是反射的物理定义,与python中的反射概念,完全没有任何关系

书归正传:反射

就是通过字符串的形式,操作对象相关的属性

反射的相关函数:

hasattr(object,"name")
#返回bool类型,判断object的命名空间中是否存在name这个名字
#存在返回True
#不存在返回Flase
obj = getattr(object,"name")
#获得Object中名称为name的内存地址
#name可以是一个方法,也可以是一个属性
setattr(Object,"name","egon")
#在Object中添加一个name名字,并赋值egon
#在Object的__dict__中就可以看到{"name":"egon"}了
delattr(Object,"name")
#在Object中删除名称为name的内存地址

为什么要用反射,反射有什么优势

实现可插拔机制

例如:程序员A负责写模块,程序员B负责调用,当程序员A的模块没有完成,程序员B依然可以将代码完成,而且与程序员A的工作不相冲突

代码示例:

1 # 编辑者:闫龙
2 class ftpc:
3     def __init__(self,x):
4         print("come no baby",x)
5     def getFile(self):
6         print("反正里面有文件")
7     def upFile(self):
8         print("你就当上传成功了一个叫FuckEgon的文件")

程序员A的未完成模块

 1 # 编辑者:闫龙
 2 import FtpClient
 3 class FtpS:
 4     def __init__(self):
 5         print("服务端已开启")
 6     def Go(self):
 7         ftpc = FtpClient.ftpc("egon")
 8         while True:
 9             userin = input(">>>:")
10             if(hasattr(ftpc,userin)):#在这里就是判断程序员A未完成的代码中是否存在某方法,如果存在则执行,不存在则提示指令错误
11                 ftpp = getattr(ftpc,userin)
12                 ftpp()
13             else:
14                 print("指令错误")
15                 continue
16
17 f = FtpS()
18 f.Go()

程序员B的实现

动态导入模块

我们在导入模块的时候会用到Import 模块名,而这个模块名并不是一个字符串,那么使用应的好处就是可以对应字符串转成相应的模块

代码示例:

 1 #官方推荐版:egon坑货版
 2 import importlib #导入一个improtlib模块
 3 Choice = input(">>>")#获取用户输入的信息(模块名字)
 4 importlib.import_module(Choice)#将用户输入的字符串变成模块的名字并导入模块
 5
 6 #矮根儿先入为主版:官方根本不推荐,但是如果你非要这么写的话,请在写之前注明:
 7 #<林海峰教的>
 8 Choice = input(">>>")#获取用户输入的信息(模块名字)
 9 __import__(Choice)#将用户输入的字符串变成模块的名字并导入模块
10 #</林海峰教的>
时间: 2025-01-04 21:35:36

Python概念-反射之文化底蕴版:反正射了的相关文章

python的反射机制

转载自:http://www.cnblogs.com/feixuelove1009/p/5576206.html 对编程语言比较熟悉的朋友,应该知道"反射"这个机制.Python作为一门动态语言,当然不会缺少这一重要功能.然而,在网络上却很少见到有详细或者深刻的剖析论文.下面结合一个web路由的实例来阐述python的反射机制的使用场景和核心本质. 一.前言 1 2 3 4 5 def f1():     print("f1是这个函数的名字!") s = "

简单谈谈python的反射机制

对编程语言比较熟悉的朋友,应该知道“反射”这个机制.Python作为一门动态语言,当然不会缺少这一重要功能.然而,在网络上却很少见到有详细或者深刻的剖析论文.下面结合一个web路由的实例来阐述python的反射机制的使用场景和核心本质. 一.前言 def f1(): print("f1是这个函数的名字!") s = "f1" print("%s是个字符串" % s) 在上面的代码中,我们必须区分两个概念,f1和“f1".前者是函数f1的

分享《OpenCV 3计算机视觉:Python语言实现(第2版)》中文PDF+英文PDF+源代码

下载:https://pan.baidu.com/s/1gGgEk8Y6X58gfvsmD8U8Xw 更多资料分享:https://www.cnblogs.com/javapythonstudy/ <OpenCV 3计算机视觉:Python语言实现(第2版)>中文PDF+英文PDF+源代码中文PDF,202页,带目录书签:英文PDF,263页,带目录书签.配套源代码. 理解与计算机视觉相关的算法.模型以及OpenCV 3 API背后的基本概念,有助于开发现实世界中的各种应用程序(比如:安全和监

Python入门经典. 以解决计算问题为导向的Python编程实践(高清版)PDF

Python入门经典. 以解决计算问题为导向的Python编程实践(高清版)PDF百度网盘链接:https://pan.baidu.com/s/1juLsew8UiOErRheQPOuTaw 提取码:fssd 复制这段内容后打开百度网盘手机App,操作更方便哦内容简介 · · · · · · <Python入门经典:以解决计算问题为导向的Python编程实践>是一本系统而科学的Python入门教程,美国密歇根州立大学等多所美国知名高校采用其作为编程语言的入门教材,被奉为经典.它不仅从计算机教学

《Python编程从入门到实践》+《流畅的Python》+《Python基础教程(第3版)》分析对比

<Python编程从入门到实践>针对所有层次的Python 读者而作的Python 入门书.全书分两部分:第一部分介绍用Python 编程所必须了解的基本概念,包括matplotlib.NumPy 和Pygal 等强大的Python 库和工具介绍,以及列表.字典.if 语句.类.文件与异常.代码测试等内容:第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的Python 2D 游戏开发如何利用数据生成交互式的信息图,以及创建和定制简单的Web 应用,并帮读者解决常见编程问题和困惑. <

Python深度学习(高清版)PDF

Python深度学习(高清版)PDF百度网盘链接:https://pan.baidu.com/s/1WOAfraS5Y56247A8oDUPgg 提取码:pfo3 复制这段内容后打开百度网盘手机App,操作更方便哦内容简介 · · · · · · 本书由Keras之父.现任Google人工智能研究员的弗朗索瓦?肖莱(Fran?ois Chollet)执笔,详尽介绍了用Python和Keras进行深度学习的探索实践,涉及计算机视觉.自然语言处理.生成式模型等应用.书中包含30多个代码示例,步骤讲解

Python基础教程(第三版)(六) 抽象

一个菜鸡的挣扎 就总结下 and 如果有大佬不小心看到了发现了错误,就欢迎指正 6.1懒惰是一种美德 通过创建函数以调用之可以减少代码量 6.2 抽象和结构 抽象是程序能够被人理解的关键所在(无论对编写程序还是阅读来说,这都至关重要) 函数封装了人不需要关心的实现细节,从而更容易被使用和理解 6.3 自定义函数 6.3.1 给函数编写文档 在def后面添加字符串,相当于给整个函数添加注释,以确保被人理解 __doc_ _是函数的一个属性,可用它来访问函数的文档字符串 我自己的练习: def la

《Python基础教程(第3版)》PDF高清版

Python基础教程(第3版) 链接: https://pan.baidu.com/s/1_sXv7pUXGJuG5Nd75_iDHA 提取码: 9b7q ? 内容简介  · · · · · · 本书包括Python程序设计的方方面面:首先从Python的安装开始,随后介绍了Python的基础知识和基本概念,包括列表.元组.字符串.字典以及各种语句:然后循序渐进地介绍了一些相对高级的主题,包括抽象.异常.魔法方法.属性.迭代器:此后探讨了如何将Python与数据库.网络.C语言等工具结合使用,从

如何让文化底蕴碾压铁观音的石崖茶名满天下?

之前有一朋友在做石崖茶,我帮着看看,说做做seo.我看了看,文化底蕴厚的惊人,茶文化起源于唐,而石崖茶文化同时再唐就被发现,被古时很多文人墨客所喜爱,更是被当时作为贡品进献,被当地人称之为仙茶.可奇怪的是一千多年后的今天,现在百度指数几乎没有,淘宝指数日均几十,可谓知名度低到无法说的地步! 在沟通过程中,说道原因是由于地方比较偏,资金与人才缺乏为石崖茶知名度比较低的重要因素,个人不以为之. 那么如何低成本,将有如此高文化底蕴甚至完全玩爆普洱.龙井,铁观音的石崖茶重新展现在大家面前呢? 前段时间分