功能 可以实现 用一个字符串调用类中对应的实例的方法:

反射:

  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

类中的反射 装逼利器相关推荐

  1. 编程小白和大神都想要的百元级物理外挂(装逼利器)----KeyPad++编程键盘

    这两天夜不能寐,终究还是做出了这个违背祖宗的决定.... 是的,我正是要将一代代编程大神薪火相传的的终极奥义公之于众. 当你刚开始熟悉和掌握一门语言时,无论是C++还是Java亦或是Python,我们 ...

  2. 海涛师兄指的路--指点汇总--各种装逼利器---15.01.27

    14.11.10--科学楼226 C primer plus 代码敲两边 许英杰老师 ---------------------------- www.gfsoso.com谷粉搜搜 正点原子.安富莱( ...

  3. 装逼利器 25个Python小技巧骚断同事腰

    本文我总结了25个python专属骚操作,实属提高工作效率和在同事面前准点下班的装B心情,确定不收藏吗? 在本文中,本文简述了 17 个非常有用的 Python 技巧,例如查找.分割和合并列表等.它们 ...

  4. 装逼利器:QQ号转换成16进制登陆--用了这么长时间QQ竟然不知道

    前几天听学长讲课,讲到一个有意思的事情: QQ竟然可以转成 16 进制进行登录,哈哈,看来我不是一个合格的程序员. 很好玩,可以拿来装逼 转换工具进制转换 登陆的时候需要在十六进制之前加上 0x,然后 ...

  5. cmd命令,最新的装逼利器

    在cmd环境下打开文件和文件夹.喜欢装逼的大伙可以看看. 打开文件夹的话用start命令例如start 文件夹 打开文件进入指定目录后直接键入文件名就行 或者直接start 路径例如start g:\ ...

  6. python利器怎么编程-Python实现翻译小工具!几行代码搞定!装逼利器有没有!

    一.背景 利用Requests模块获取有道词典web页面的post信息,BeautifulSoup来获取需要的内容,通过tkinter模块生成gui界面 二.代码 进群:548377875    即可 ...

  7. python下载文件进度图表_【python 】文件下载进度条(装逼利器)

    原博文 2020-04-23 11:19 − 基础版 import requests url = "http://mp.111ttt.cn/mp3free/81135985.mp3" ...

  8. win10切第二屏幕_Win10特有的31个快捷键,装逼利器,赶快收藏吧!学习电脑知识...

    很多快捷键不同版本系统基本相同的,不过,今天推送的这篇更多偏向于win10,因为win10将来必定会形成主流,所以还是值得学习. [Win+X] 打开简易版开始菜单. [Win+i] 打开设置面板. ...

  9. 分享个绝地求生吃鸡图生成器,装逼利器!!

    绝地求生大逃杀是最近特别火的一款游戏,因为胜利后屏幕上会显示"大吉大利,晚上吃鸡",所以也被称为吃鸡游戏,游戏里拿到第一就是吃到鸡了,如果技术不够好,吃不到鸡,又想在朋友圈里秀一下 ...

  10. 【装逼利器效率软件】一张图问你想不想用Launchy

    简述:Launchy博客园很多文章,长篇大论文字太多. 一张图问你想不想用? 长话多说: 一.设置Launchy扫描目录,安装后会默认,个人推荐自定义目录比较好 二.自行建立快捷方式别名文件夹,存放各 ...

最新文章

  1. 渗透测试:正义黑客的渗透测试以及该过程和黑客活动的区别
  2. FPGA之道(33)Verilog数据类型
  3. python网页数据存入数据库_python网络爬虫抓取动态网页并将数据存入数据库MySQL...
  4. 矢量合成和分解的法则_高考复习整理力的合成和分解
  5. 使用.Net平台构建企业应用系统场(下)
  6. 23种设计模式及OOP7大原则
  7. 2018及以后的热门网络技巧
  8. imu_utils标定imu问题解决
  9. keepalived+lvs+nginx高可用
  10. 百度推出Apollo 3.5和Apollo Enterprise
  11. [转载] Python中int类型和string类型的相互转换
  12. Android系统信息获取 之二:版本信息获取
  13. CEM计算电磁学 -- Lecture 1 学习笔记 (1) --- 麦克斯韦方程、波动方程
  14. android 各类开源项目整理 包括 个性化控件 工具库 完整优秀项目
  15. pdf照片显示正常打印时被翻转_2020年上海二级建造师准考证打印常见问题
  16. 实现发送Http请求的两种方法
  17. tableView的懒懒的跳转方式,加载数据源方式
  18. 绘制管理组织结构图方法介绍
  19. java 输入法实现(一)
  20. 河南理工大学篮球计算机,河南理工大学

热门文章

  1. winform通过WebClient调用api接口
  2. Abp框架 Abp中使用Redis
  3. Laravel的CURD操作
  4. php导出Excel表格(无插件)
  5. mysql安装zip怎么安装可视化_Mysql zip压缩版安装步骤总结
  6. Python 错误记录(新手)
  7. YAF label getcookie() php加密函数 自己调用任意模板
  8. Android远程过程通讯,Android系统进程间通信(IPC)机制Binder中的Client获得Server远程接口过程源代码分析(3)...
  9. 刚接触新工作的程序员:直接运行include
  10. 使用VC做一个简单的UI界面对话框