您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關python是動態語言嗎,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
首先要理解什么是動態語言:通俗地說:能夠在運行時修改自身程序結構的語言,就屬于動態語言。那怎樣才算是“運行時修改自身程序結構”呢?比如下面這幾個例子都算:在運行時給某個類增加成員函數及成員變量;在運行時改變某個類的父類;在運行時創建出某個函數.。
Python是可以實現動態類的創建類(在任意代碼位置,符合正確的書寫格式),或者給類增加刪除屬性。因為類也是對象,你可以在運行時動態的創建它們,就像其他任何對象一樣。首先,你可以在函數中創建類,使用class關鍵字即可。
例子:
def choose_class(name): if name == 'foo': class Foo(object): pass return Foo # 返回的是類,不是類的實例 else: class Bar(object): pass return Bar #如果你覺得還不夠動態,因為你仍然需要自己編寫整個類的代碼。由于類也是對象,所以它們必須是通過什么東西來生成的才對。 當你使用class關鍵字時,Python解釋器自動創建這個對象。但就和Python中的大多數事情一樣,Python仍然提供給你手動處理的方法。 內建函數中有一個名叫type的內建函數,這個內建函數古老但強大的函數, 它能夠讓你知道一個對象的類型是什么,就像這樣: >>> MyShinyClass = type('MyShinyClass', (), {}) # 返回一個類對象 >>> print MyShinyClass<class '__main__.MyShinyClass' >>>> print MyShinyClass() # 創建一個該類的實例 <__main__.MyShinyClass object at 0x8997cec>另附type使用方法: #type(類名, 父類的元組(針對繼承的情況,可以為空),包含屬性的字典(名稱和值))
看完上述內容,你們對python是動態語言嗎有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。