栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何检测Python变量是否为函数?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何检测Python变量是否为函数?

如果这是用于Python 2.x或Python 3.2+,则也可以使用

callable()
。它曾经不推荐使用,但是现在不推荐使用,因此你可以再次使用它。你可以在此处阅读讨论内容:http : //bugs.python.org/issue10518。你可以执行以下操作:

callable(obj)

如果这是针对Python 3.x但在3.2之前的版本,请检查对象是否具有

__call__
属性。你可以执行以下操作:

hasattr(obj, '__call__')

经常建议的

types.FunctionTypes
方法是不正确的,因为它无法涵盖你可能希望其通过的许多情况,例如内置函数:

>>> isinstance(open, types.FunctionType)False>>> callable(open)True

检查duck型物体属性的正确方法是询问它们是否发出嘎嘎声,而不是看它们是否适合鸭子大小的容器。

types.FunctionType
除非你对功能是什么非常明确,否则请不要使用。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/596735.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号