相当于Ruby'is_a?'的Python

托尼·克罗宁

我想知道是否有一个与Ruby的“ is_a”等效的Python?方法?

> "".is_a? String
=> true

信息:

is_a?(class) → true or false

如果class是obj的类,或者class是obj的超类之一或obj中包含的模块,则返回true。

谢谢。

约翰·费米内拉

这取决于您想要的部分。

如果您想知道foo是class的实例C还是其祖先,请执行以下操作:

isinstance(foo, C)

如果你想知道是否foo是一个实例C,只有C,则:

type(foo) == C

广义上讲,频繁使用诸如isinstance(...)type(...)代码臭味之类的东西是因为它意味着鸭子类型被破坏了,而Python在很大程度上依赖于这种契约。参见,例如,被认为有害的实例

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

相当于ruby Gem文件的Python

来自分类Dev

Ruby的Python的defaultdict相当于什么?

来自分类Dev

相当于Ruby的each_with_index的Python吗?

来自分类Dev

相当于Ruby Array.each方法的Python

来自分类Dev

相当于〜/ .bashrc的Python

来自分类Dev

相当于HashMap的Python

来自分类Dev

相当于bwmorph的Python

来自分类Dev

在Ruby中否定`is_a?`

来自分类Dev

相当于curl --python的python

来自分类Dev

lua相当于python repr

来自分类Dev

在Julia中相当于Python的“ with”吗?

来自分类常见问题

相当于JavaScript中的Python Pandas

来自分类Dev

相当于Python中的MATLAB ksdensity

来自分类Dev

相当于Perl时间戳的Python

来自分类Dev

Matlab相当于Python枚举

来自分类Dev

相当于R的头尾函数的Python

来自分类Dev

相当于python的Java哈希

来自分类Dev

相当于python中的GOTO

来自分类Dev

Matlab相当于Python的'reduce'函数

来自分类Dev

相当于Python 3中的coerce()

来自分类Dev

相当于Java比较器的Python

来自分类Dev

相当于System('PAUSE')的Python

来自分类Dev

Matlab相当于Python的“通过”语句

来自分类Dev

Matlab相当于Python的“通过”语句

来自分类Dev

相当于python __getattr __()或__call __()的Golang

来自分类Dev

相当于Python的readlines函数的Pandas

来自分类Dev

相当于完整网页的Python下载

来自分类Dev

相当于Python字典的C ++

来自分类Dev

相当于Python String Slice的C ++?