python为什么是动态语言_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
>>>> print MyShinyClass() # 創建一個該類的實例
<__main__.myshinyclass object at>另附type使用方法:
#type(類名, 父類的元組(針對繼承的情況,可以為空),包含屬性的字典(名稱和值))
總結
以上是生活随笔為你收集整理的python为什么是动态语言_python为什么是动态语言的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows2012 下载启动ssh
- 下一篇: python的用算法进制转换详解_学习p