温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Jython的特殊属性介绍

发布时间:2021-09-01 18:11:41 来源:亿速云 阅读:154 作者:chen 栏目:编程语言

这篇文章主要介绍“Jython的特殊属性介绍”,在日常操作中,相信很多人在Jython的特殊属性介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Jython的特殊属性介绍”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

Jython特殊属性一览  

Jython 类提供了对几个特殊属性的支持。下面列出最重要的几个:

名字 作用 注释
__dict__ 对象的可写属性 可以用于内省对象的属性
__class__ 对象的类 访问对象的类(类似于 Java 代码中的x.getClass() )
__bases__ 对象的立即父类的元组 可以用于内省对象的父类

Jython特殊属性——改变现有实例的类

与大多数其他语言不同,在 Jython 中可以改变现有实例的类。这会将可以使用的实例方法改变为新类的方法,但是不会改变所有预先存在的字段。例如,要改变一个实例的类,将新类赋值给特殊属性 __class__ ,如下所示:

x = SomeClass()   print isinstance(x, SomeClass) # prints: 1 (true)  print isinstance(x, SomeOtherClass) # prints: 0 (false)    :  # change the class (that is, the type) of the instance here  x.__class__ = SomeOtherClass   print isinstance(x, SomeClass) # prints: 0 (false)  print isinstance(x, SomeOtherClass) # prints: 1 (true)   y = SomeOtherClass()   print x.__class__ == y.__class__ # prints: 1 (true)

这样改变之后,x 实例将支持 SomeOtherClass 的方法,而不是以前的 SomeClass 的方法。在改变对象的类时,要注意实例应具有对新类正确的属性。

Jython特殊属性——其他内省函数

特殊属性中描述的属性允许对类进行更多内省。特别是,可以用 __dict__ 属性确定类中的方法和实例中的字段。

除了 dir 和 vars,Jython 还提供了其他的用于内省类和实例的函数,如下所示:

函数 注释
hasattr(obj, name) 测试指定的属性是否存在
getattr(obj, name{,default}) 如果属性存在,得到属性的名字,否则返回默认值(如果没有默认值,则抛出一个异常)
setattr(obj, name, value) 设置指定属性的值
delattr(obj, name) 删除指定的属性

到此,关于“Jython的特殊属性介绍”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI