自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Jython特殊屬性介紹

開發(fā) 后端
本文介紹Jython的特殊屬性。與大多數(shù)其他語言不同,在 Jython 中可以改變現(xiàn)有實例的類。這會將可以使用的實例方法改變?yōu)樾骂惖姆椒?,但是不會改變所有預先存在的字段。

Jython特殊屬性一覽  

Jython 類提供了對幾個特殊屬性的支持。下面列出最重要的幾個:

名字 作用 注釋
__dict__ 對象的可寫屬性 可以用于內(nèi)省對象的屬性
__class__ 對象的類 訪問對象的類(類似于 Java 代碼中的x.getClass() )
__bases__ 對象的立即父類的元組 可以用于內(nèi)省對象的父類

Jython特殊屬性——改變現(xiàn)有實例的類

與大多數(shù)其他語言不同,在 Jython 中可以改變現(xiàn)有實例的類。這會將可以使用的實例方法改變?yōu)樾骂惖姆椒ǎ遣粫淖兯蓄A先存在的字段。例如,要改變一個實例的類,將新類賦值給特殊屬性 __class__ ,如下所示:

  1. x = SomeClass()   
  2. print isinstance(x, SomeClass) # prints: 1 (true)  
  3. print isinstance(x, SomeOtherClass) # prints: 0 (false)  
  4.   :  
  5. # change the class (that is, the type) of the instance here  
  6. x.__class__ = SomeOtherClass   
  7. print isinstance(x, SomeClass) # prints: 0 (false)  
  8. print isinstance(x, SomeOtherClass) # prints: 1 (true)  
  9.  
  10. y = SomeOtherClass()   
  11. print x.__class__ == y.__class__ # prints: 1 (true)  

這樣改變之后,x 實例將支持 SomeOtherClass 的方法,而不是以前的 SomeClass 的方法。在改變對象的類時,要注意實例應具有對新類正確的屬性。

Jython特殊屬性——其他內(nèi)省函數(shù)

特殊屬性中描述的屬性允許對類進行更多內(nèi)省。特別是,可以用 __dict__ 屬性確定類中的方法和實例中的字段。

除了 dir 和 vars,Jython 還提供了其他的用于內(nèi)省類和實例的函數(shù),如下所示:

函數(shù) 注釋
hasattr(obj, name) 測試指定的屬性是否存在
getattr(obj, name{,default}) 如果屬性存在,得到屬性的名字,否則返回默認值(如果沒有默認值,則拋出一個異常)
setattr(obj, name, value) 設置指定屬性的值
delattr(obj, name) 刪除指定的屬性

【編輯推薦】

  1. Jython的繼承能力:單繼承和多繼承
  2. 常用Jython方法介紹:init和del
  3. 介紹Jython類:添加定義類屬性及隱藏變量
  4. Jython中的對象——面向?qū)ο蟮恼Z言概述
  5. 在Eclipse下配置Jython的簡易流程
責任編輯:yangsai 來源: 網(wǎng)絡
相關(guān)推薦

2011-12-28 10:49:44

Silverlight

2009-07-14 17:12:55

Jython類

2009-07-14 17:21:14

Jython方法

2009-07-16 16:40:14

Jython 2.2

2009-07-10 17:33:39

jython語言什么是JythonJython

2009-07-16 13:09:46

Jython安裝

2009-07-15 16:35:55

Jython訪問Jav

2009-07-14 15:20:25

Jython腳本Jython解釋器

2009-12-22 15:14:33

WCF調(diào)用

2009-07-07 09:44:11

特殊類型設計

2009-12-15 15:19:30

Ruby訪問控制

2010-09-30 14:55:23

Javascriptfloat

2009-07-10 18:10:18

Jython編寫SerJython

2009-12-28 15:39:33

WPF滑動條

2023-11-09 08:55:17

Python雙下劃線

2009-12-25 11:04:51

WPF Border

2009-07-15 17:38:58

Jython全局函數(shù)

2009-07-10 17:40:58

Jython訪問MyS

2010-03-02 13:54:43

WCF控制服務對象釋放

2010-09-13 17:36:02

overflowCSS
點贊
收藏

51CTO技術(shù)棧公眾號