类中的反射 装逼利器
功能 可以实现 用一个字符串调用类中对应的实例的方法:
反射:
hasattr (obj,name_str),判断一个对象obj里是否有字符串name_str的方法
getattr(obj,name_srt),根据字符串去获取obj对象里的对应方法的内存地址
setattr(obj,变量字符串,值) 给类的实例对象obj 加一个 变量字符串的属性 值是第三个参数
delattr(obj,变量字符串) 删除变量字符串对应的obj对象的方法
class Dog(object):
def __init__(self,name): self.name = name def eat(self,food): print("%s在吃"%self.name,food) d = Dog("keji")choice = input(">>>:").strip()#想实现的功能 用字符串调用实例化的方法 eat#d.choice 直接这么写是不可以的 因为后面的是字符串#先判断有没有 这个方法if hasattr(d,choice):# 判断类实例中有没有什么方法? 有返回True
delattr(d,choice) #判断是否有属性 如果有 删除 就这么用
func = getattr(d,choice)# 取相应字符串的属性 用字符串映射出了实例的一个方法 func("骨头") else:
# setattr(d,choice,bulk) #x.y = V x是字符串 y是方法 V是值 # d.bulk(d) #动态的吧一个类外面的方法装配到了 类里面 setattr(d,choice,22) #动态的设置一个输入的属性 print(getattr(d,choice))#打印动态属性对应的值
这样就实现了用字符串 choice 调用 Dog类的 eat方法
转载于:https://www.cnblogs.com/daluozi/p/8710433.html
类中的反射 装逼利器相关推荐
- 编程小白和大神都想要的百元级物理外挂(装逼利器)----KeyPad++编程键盘
这两天夜不能寐,终究还是做出了这个违背祖宗的决定.... 是的,我正是要将一代代编程大神薪火相传的的终极奥义公之于众. 当你刚开始熟悉和掌握一门语言时,无论是C++还是Java亦或是Python,我们 ...
- 海涛师兄指的路--指点汇总--各种装逼利器---15.01.27
14.11.10--科学楼226 C primer plus 代码敲两边 许英杰老师 ---------------------------- www.gfsoso.com谷粉搜搜 正点原子.安富莱( ...
- 装逼利器 25个Python小技巧骚断同事腰
本文我总结了25个python专属骚操作,实属提高工作效率和在同事面前准点下班的装B心情,确定不收藏吗? 在本文中,本文简述了 17 个非常有用的 Python 技巧,例如查找.分割和合并列表等.它们 ...
- 装逼利器:QQ号转换成16进制登陆--用了这么长时间QQ竟然不知道
前几天听学长讲课,讲到一个有意思的事情: QQ竟然可以转成 16 进制进行登录,哈哈,看来我不是一个合格的程序员. 很好玩,可以拿来装逼 转换工具进制转换 登陆的时候需要在十六进制之前加上 0x,然后 ...
- cmd命令,最新的装逼利器
在cmd环境下打开文件和文件夹.喜欢装逼的大伙可以看看. 打开文件夹的话用start命令例如start 文件夹 打开文件进入指定目录后直接键入文件名就行 或者直接start 路径例如start g:\ ...
- python利器怎么编程-Python实现翻译小工具!几行代码搞定!装逼利器有没有!
一.背景 利用Requests模块获取有道词典web页面的post信息,BeautifulSoup来获取需要的内容,通过tkinter模块生成gui界面 二.代码 进群:548377875 即可 ...
- python下载文件进度图表_【python 】文件下载进度条(装逼利器)
原博文 2020-04-23 11:19 − 基础版 import requests url = "http://mp.111ttt.cn/mp3free/81135985.mp3" ...
- win10切第二屏幕_Win10特有的31个快捷键,装逼利器,赶快收藏吧!学习电脑知识...
很多快捷键不同版本系统基本相同的,不过,今天推送的这篇更多偏向于win10,因为win10将来必定会形成主流,所以还是值得学习. [Win+X] 打开简易版开始菜单. [Win+i] 打开设置面板. ...
- 分享个绝地求生吃鸡图生成器,装逼利器!!
绝地求生大逃杀是最近特别火的一款游戏,因为胜利后屏幕上会显示"大吉大利,晚上吃鸡",所以也被称为吃鸡游戏,游戏里拿到第一就是吃到鸡了,如果技术不够好,吃不到鸡,又想在朋友圈里秀一下 ...
- 【装逼利器效率软件】一张图问你想不想用Launchy
简述:Launchy博客园很多文章,长篇大论文字太多. 一张图问你想不想用? 长话多说: 一.设置Launchy扫描目录,安装后会默认,个人推荐自定义目录比较好 二.自行建立快捷方式别名文件夹,存放各 ...
最新文章
- 渗透测试:正义黑客的渗透测试以及该过程和黑客活动的区别
- FPGA之道(33)Verilog数据类型
- python网页数据存入数据库_python网络爬虫抓取动态网页并将数据存入数据库MySQL...
- 矢量合成和分解的法则_高考复习整理力的合成和分解
- 使用.Net平台构建企业应用系统场(下)
- 23种设计模式及OOP7大原则
- 2018及以后的热门网络技巧
- imu_utils标定imu问题解决
- keepalived+lvs+nginx高可用
- 百度推出Apollo 3.5和Apollo Enterprise
- [转载] Python中int类型和string类型的相互转换
- Android系统信息获取 之二:版本信息获取
- CEM计算电磁学 -- Lecture 1 学习笔记 (1) --- 麦克斯韦方程、波动方程
- android 各类开源项目整理 包括 个性化控件 工具库 完整优秀项目
- pdf照片显示正常打印时被翻转_2020年上海二级建造师准考证打印常见问题
- 实现发送Http请求的两种方法
- tableView的懒懒的跳转方式,加载数据源方式
- 绘制管理组织结构图方法介绍
- java 输入法实现(一)
- 河南理工大学篮球计算机,河南理工大学
热门文章
- winform通过WebClient调用api接口
- Abp框架 Abp中使用Redis
- Laravel的CURD操作
- php导出Excel表格(无插件)
- mysql安装zip怎么安装可视化_Mysql zip压缩版安装步骤总结
- Python 错误记录(新手)
- YAF label getcookie() php加密函数 自己调用任意模板
- Android远程过程通讯,Android系统进程间通信(IPC)机制Binder中的Client获得Server远程接口过程源代码分析(3)...
- 刚接触新工作的程序员:直接运行include
- 使用VC做一个简单的UI界面对话框