動(dòng)態(tài)語(yǔ)言-Python

1.動(dòng)態(tài)語(yǔ)言的定義

動(dòng)態(tài)編程語(yǔ)言是高級(jí)程序設(shè)計(jì)語(yǔ)言的一個(gè)類別,在計(jì)算機(jī)科學(xué)領(lǐng)域已被廣泛應(yīng)用。它是一類在運(yùn)行時(shí)可以改變其結(jié)構(gòu)的語(yǔ)言:例如新的函數(shù)、對(duì)象、甚至代碼可以被引進(jìn),已有的函數(shù)可以被刪除或是其他結(jié)構(gòu)上的變化。動(dòng)態(tài)語(yǔ)言目前非常具有活力。例如JavaScript便是一個(gè)動(dòng)態(tài)語(yǔ)言,除此之外如PHP、Ruby、Python等也都屬于動(dòng)態(tài)語(yǔ)言,而C、C++等語(yǔ)言則不屬于動(dòng)態(tài)語(yǔ)言。----來(lái)自維基百科

1.運(yùn)行的過(guò)程中給對(duì)象綁定(添加)屬性

運(yùn)行結(jié)果:

這里我想給要在運(yùn)行過(guò)程里給對(duì)象綁定屬性

運(yùn)行結(jié)果:
這里實(shí)際上就是動(dòng)態(tài)給實(shí)例綁定屬性!

2.運(yùn)行的過(guò)程中給類綁定(添加)屬性

運(yùn)行結(jié)果:

3.運(yùn)行的過(guò)程中給類綁定(添加)方法

運(yùn)行結(jié)果:
既然給類添加方法,是使用類名.方法名= xxxx,那么給對(duì)象添加一個(gè)方法也是類似的對(duì)象.方法名= xxxx

完整代碼如下:

運(yùn)行結(jié)果:

4.運(yùn)行的過(guò)程中刪除屬性、方法

刪除的方法:

1.del對(duì)象.屬性名

2.delattr(對(duì)象, "屬性名")

通過(guò)以上例子可以得出一個(gè)結(jié)論:相對(duì)于動(dòng)態(tài)語(yǔ)言,靜態(tài)語(yǔ)言具有嚴(yán)謹(jǐn)性!所以,玩動(dòng)態(tài)語(yǔ)言的時(shí)候,小心動(dòng)態(tài)的坑!

那么怎么避免這種情況呢?請(qǐng)使用__slots__,

5.__slots__

動(dòng)態(tài)語(yǔ)言與靜態(tài)語(yǔ)言的不同

動(dòng)態(tài)語(yǔ)言:可以在運(yùn)行的過(guò)程中,修改代碼

靜態(tài)語(yǔ)言:編譯時(shí)已經(jīng)確定好代碼,運(yùn)行過(guò)程中不能修改

如果我們想要限制實(shí)例的屬性怎么辦?比如,只允許對(duì)Person實(shí)例添加name和age屬性。只能限定實(shí)例對(duì)象的添加屬性和方法

為了達(dá)到限制的目的,Python允許在定義class的時(shí)候,定義一個(gè)特殊的__slots__變量,來(lái)限制該class實(shí)例能添加的屬性:

運(yùn)行結(jié)果:
注意:

·使用__slots__要注意,__slots__定義的屬性僅對(duì)當(dāng)前類實(shí)例起作用,對(duì)繼承的子類是不起作用的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評(píng)論 19 139
  • 蘋果官方文檔翻譯 《Objective-C語(yǔ)言編程》(Programming with Objective-C) ...
    fever105閱讀 26,323評(píng)論 19 129
  • python是動(dòng)態(tài)語(yǔ)言 1.1.1動(dòng)態(tài)語(yǔ)言的定義 動(dòng)態(tài)編程語(yǔ)言是高級(jí)程序設(shè)計(jì)語(yǔ)言的一個(gè)類別,在計(jì)算機(jī)科學(xué)領(lǐng)域已被廣...
    chen_000閱讀 366評(píng)論 0 0
  • 記得很久之前在簡(jiǎn)書上看到一篇文章,里面有句話好像說(shuō)的是:愛(ài)情里,我們都會(huì)變成笨蛋。 我自顧自的評(píng)論了一句:...
    心有林溪閱讀 242評(píng)論 0 0
  • 我有個(gè)同事,我特別不喜歡他,因?yàn)樗麩o(wú)時(shí)無(wú)刻不在看手機(jī)。我問(wèn)他的一點(diǎn)兒?jiǎn)栴}都找不到答案,托付的一些小事都完成不了。雖...
    Kristen_Pretty閱讀 314評(píng)論 0 0

友情鏈接更多精彩內(nèi)容