Jython的特殊属性介绍

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

成都创新互联公司是一家专业提供托克逊企业网站建设,专注与成都做网站、网站设计、HTML5建站、小程序制作等业务。10年已为托克逊众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。

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的特殊属性介绍”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


名称栏目:Jython的特殊属性介绍
标题来源:http://scyanting.com/article/giijgj.html