相关文章推荐
勤奋的鸭蛋  ·  python - Set up of ...·  4 周前    · 
大力的长颈鹿  ·  python - Conda env ...·  4 周前    · 
讲道义的闹钟  ·  如何释放Python占用的内存?开发者社区·  2 周前    · 
聪明的橙子  ·  python内存机制与垃圾回收、调优手段 ...·  2 周前    · 
重情义的单杠  ·  Python中如何快速解析JSON对象数组 ...·  4 天前    · 
文雅的鞭炮  ·  MongoDB聚合运算符:$toString ...·  1 年前    · 
安静的手套  ·  Please enter the ...·  1 年前    · 
无邪的蚂蚁  ·  Open Babel 分子格式转换工具 - 知乎·  2 年前    · 
爱听歌的鞭炮  ·  「oracle数据存储空间」相关问答|文档| ...·  2 年前    · 
Code  ›  Python 检测成员函数、成员变量是否存在的方法开发者社区
变量 python函数 成员变量 python
https://cloud.tencent.com/developer/article/2067980
含蓄的饭盒
2 年前
作者头像
用户9127725
0 篇文章

Python 检测成员函数、成员变量是否存在的方法

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > 刘悦的技术博客 > Python 检测成员函数、成员变量是否存在的方法

Python 检测成员函数、成员变量是否存在的方法

作者头像
用户9127725
发布 于 2022-08-08 08:28:05
1.4K 0
发布 于 2022-08-08 08:28:05
举报

如下为测试用例:

# 定义一个类

>>> class A:

...     def __init__(self):

...             self.name = 'sunyi'

...     def fun1(self):

...             print "fun1"

...

# 创建对象a

>>> a = A()

# 检测是否存在属性 name

>>> hasattr(a,"name")

True

>>> hasattr(a,"age")

False

# 检测是否存在函数 fun1

>>> hasattr(a,"fun1")

True

>>> hasattr(a,"fun2")

False

#判断fun1是否为一个函数,如果是一个函数,返回True

>>> callable(getattr(a,"fun1"))

True

#判断fun1是否为一个函数,如果不是一个函数,返回False

>>> callable(getattr(a,"name"))

False

#判断fun2是否为一个函数,如果没有定义,则抛出异常

>>> callable(getattr(a,"fun2"))

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

AttributeError: A instance has no attribute 'fun2'

#直接调用fun1函数

>>> getattr(a,"fun1")()

fun1

本文参与 腾讯云自媒体分享计划 ,分享自作者个人站点/博客。
原始发表:2013-07-18 , 如有侵权请联系 cloudcommunity@tencent.com 删除
class
instance
line
module
self

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!

class
instance
line
module
self
评论
登录 后参与评论
0 条评论
热度
最新
登录 后参与评论
关于作者
用户9127725
北京优思安科技有限公司
0
文章
0
累计阅读量
0
获赞
前往专栏
  • 社区

    • 专栏文章
    • 阅读清单
    • 互动问答
    • 技术沙龙
    • 技术视频
    • 团队主页
    • 腾讯云TI平台
  • 活动

    • 自媒体分享计划
    • 邀请作者入驻
    • 自荐上首页
    • 技术竞赛
  • 资源

    • 技术周刊
    • 社区标签
    • 开发者手册
    • 开发者实验室
  • 关于

    • 社区规范
    • 免责声明
    • 联系我们
    • 友情链接

腾讯云开发者

扫码关注腾讯云开发者

扫码关注腾讯云开发者

领取腾讯云代金券

热门产品

  • 域名注册
  • 云服务器
  • 区块链服务
  • 消息队列
  • 网络加速
  • 云数据库
  • 域名解析
  • 云存储
  • 视频直播

热门推荐

  • 人脸识别
  • 腾讯会议
  • 企业云
  • CDN加速
  • 视频通话
  • 图像分析
  • MySQL 数据库
  • SSL 证书
  • 语音识别

更多推荐

  • 数据安全
  • 负载均衡
  • 短信
  • 文字识别
  • 云点播
  • 商标注册
  • 小程序开发
  • 网站监控
  • 数据迁移

Copyright © 2013 - 2023 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有

深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569

腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287

问题归档 专栏文章 快讯文章归档 关键词归档 开发者手册归档 开发者手册 Section 归档

Copyright © 2013 - 2023 Tencent Cloud.

All Rights Reserved. 腾讯云 版权所有

登录 后参与评论
 
推荐文章
勤奋的鸭蛋  ·  python - Set up of virtual environment in anaconda failing - Stack Overflow
4 周前
大力的长颈鹿  ·  python - Conda env create from .yml gives "unexpected error" - Stack Overflow
4 周前
讲道义的闹钟  ·  如何释放Python占用的内存?开发者社区
2 周前
聪明的橙子  ·  python内存机制与垃圾回收、调优手段 - 长安223
2 周前
重情义的单杠  ·  Python中如何快速解析JSON对象数组 - 小小程序员ol
4 天前
文雅的鞭炮  ·  MongoDB聚合运算符:$toString_mongodb $tostring-CSDN博客
1 年前
安静的手套  ·  Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an
1 年前
无邪的蚂蚁  ·  Open Babel 分子格式转换工具 - 知乎
2 年前
爱听歌的鞭炮  ·  「oracle数据存储空间」相关问答|文档|产品|活动 - 七牛云
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号