python关于hasattr和getattr的理解
python关于hasattr和getattr的理解
## 这是test2模块
def f1():print('F1')def f2():print('F2')def f3():print('F3')f4 = 0
#这在其他的py文件写的用来进行导入test2
from types import FunctionType
import test2
if val == 'f1':test2.f1()if val == 'f2':test2.f1()if val == 'f3':test2.f1()if val == 'f4':print(test2.f4)
如果这么写显然是非常冗长的 可以用到getattr() hasattr()
对于这样的练习思想和逻辑: 注意getattr 和 hasattr 的用法, 第一个参数放的一个模块,或者类, 第二个参数放的是字符串(对应的是模块或者类的函数) 还有就是 关于两个类的导入FunctionType MethodType 是讨论是不是方法或者函数的两个模块用isinstance 进行相关的判断
**
“”"
while True:val = input('请输入要写的函数:') # 此时会输入f1 ,f2 f3 之类的if hasattr(test2, val):# 此时要注意 val一定得是字符串 表示如果要是test2有这个val方法的话v = getattr(test2, val) # 根据val为参数去test2模块中寻找同名的成员if isinstance(v, FunctionType): # 判断是不是函数 因为f4 不是函数v()else:print(v)else:print('test2中不存在输入的属性')
如果有100多个if elif 的话 写起来会很麻烦,不专业 ,那么getattr 和 hasattr 就用到了,希望我能讲明白
python关于hasattr和getattr的理解相关推荐
- python中hasattr()、getattr()、setattr()函数的使用
在阅读高手写的代码时,有很多简写的形式,如果没有见过还真的看不太懂是什么意思,其中一个比较常用的就是getattr()用来调用一个类中的变量或者方法,相关联的hasattr().getattr().s ...
- 【python】hasattr()、getattr()、setattr() 函数使用详解
一.hasattr(object,name)函数 判断一个对象里面是否有name属性或者name方法,返回bool值,有name属性(方法)返回True,否则返回False class functio ...
- Python的hasattr()、getattr()、setattr() 函数用法
hasattr() hasattr() 函数用来判断某个类实例对象是否包含指定名称的属性或方法. 该函数的语法格式如下: hasattr(obj, name) 其中 obj 指的是某个类的实例对象,n ...
- python中setattr用法_python中hasattr()、getattr()、setattr()函数的使用
引言: 在阅读源码时,有很多简写的形式,其中一个比较常用的就是getattr()用来调用一个类中的变量或者方法,相关联的hasattr().getattr().setattr()函数的使用也一并学习了 ...
- python中attr_python中hasattr()、getattr()、setattr()函数的使用
引言: 在阅读高手写的代码时,有很多简写的形式,如果没有见过还真的看不太懂是什么意思,其中一个比较常用的就是getattr()用来调用一个类中的变量或者方法,相关联的hasattr().getattr ...
- python hasattr()、getattr()、setattr()、delattr()函数
Python hasattr().getattr().setattr().delattr()函数 hasattr()函数 hasattr()函数用于判断是否包含对应的属性:当然,对于Python的对象 ...
- python hasattr函数_Python3 hasattr()、getattr()、setattr()函数简介
Python3 hasattr().getattr().setattr()函数简介 一.hasattr(object, name) 判断object对象中是否存在name属性,当然对于python的对 ...
- Python的hasattr() getattr() setattr() 函数使用方法详解
Python的hasattr() getattr() setattr() 函数使用方法详解 (一) hasattr(object,name) 函数 判断一个对象里面是否有 name 属性或者 name ...
- python中setattr用法_详解Python的hasattr() getattr() setattr() 函数使用方法
hasattr(object, name) 判断一个对象里面是否有name属性或者name方法,返回BOOL值,有name特性返回True, 否则返回False. 需要注意的是name要用括号括起来 ...
最新文章
- java与SPARK的使用的一个类似文章
- 理解 UDDI(统一描述、发现和集成)
- Centos下 安装和测试kafka
- subsonic mysql_Subsonic 介绍
- Android原生开发modules方式导入Unity问题汇总
- Mathcad Prime 下载 安装 与 和谐教程
- UVALive 7143 Room Assignment(组合数学+DP)(2014 Asia Shanghai Regional Contest)
- 高可用MySQL MHA介绍
- spring boot 调试 - 热部署
- ubuntu 开机自动挂在windows下的分区
- 数据结构——>二叉树
- Server Tomcat v8.5 Server at localhost was unable to start within 45 seconds. If the server requires
- 20200128每日一句
- 最新超详细VMware虚拟机下载与安装
- SEO网站前端优化整理
- matlab矩阵倒数,求解:用MATLAB生成空间距离倒数矩阵后面板分析出现下面的几句警告...
- 命令行基础-vim编辑器
- 读jquery 权威指南[3]-动画
- Ubuntu 下旋转显示器屏幕
- python网球比赛模拟主持稿_主持人大赛模拟主持稿