python语言的作者是_Python是一门动态语言
【IT168 評論】動態(tài)語言的定義
動態(tài)編程語言 是 高級程序設(shè)計語言 的一個類別,在計算機科學(xué)領(lǐng)域已被廣泛應(yīng)用。它是一類 在運行時可以改變其結(jié)構(gòu)的語言 :例如新的函數(shù)、對象、甚至代碼可以被引進,已有的函數(shù)可以被刪除或是其他結(jié)構(gòu)上的變化。動態(tài)語言目前非常具有活力。例如JavaScript便是一個動態(tài)語言,除此之外如 PHP 、 Ruby 、 Python 等也都屬于動態(tài)語言,而 C 、 C++ 等語言則不屬于動態(tài)語言。
給對象綁定(添加)屬性
在這里,我們定義了1個類Car,在這個類里,定義了兩個初始屬性Carname和CarMoney,但是人還有性別啊!如果這個類不是你寫的是不是你會嘗試訪問性別這個屬性呢?
>>> C.user = "技術(shù)大爆炸">>> P.user'技術(shù)大爆炸'>>>
這時候就發(fā)現(xiàn)問題了,我們定義的類里面沒有sex這個屬性啊!怎么回事呢? 這就是動態(tài)語言的魅力和坑! 這里 實際上就是 動態(tài)給實例綁定屬性!
給類綁定(添加)屬性
我們嘗試打印C1.user,發(fā)現(xiàn)報錯,C1沒有user這個屬性!---- 給C這個實例綁定屬性對C1這個實例不起作用! 那我們要給所有的Car的實例加上user屬性怎么辦呢? 答案就是直接給Car綁定屬性!
#如果C1這個實例對象中沒有user屬性的話,那么就會訪問它的類屬性None
#可以看到?jīng)]有出現(xiàn)異常>>>
給類綁定(添加)屬性
我們直接給Car綁定user這個屬性,重新實例化C1后,C1就有user這個屬性了! 那么function呢?怎么綁定?
既然給類添加方法,是使用類名.方法名 = xxxx,那么給對象添加一個方法也是類似的對象.方法名 = xxxx
完整的代碼如下:
刪除屬性、方法
刪除的方法:
del 對象.屬性名delattr(對象, "屬性名")
通過以上例子可以得出一個結(jié)論:相對于動態(tài)語言,靜態(tài)語言具有嚴謹性!所以,玩動態(tài)語言的時候,小心動態(tài)的坑!
那么怎么避免這種情況呢? 請使用__slots__,
本文作者:高小杰
本文來自云棲社區(qū)合作伙伴“IT技術(shù)之道”。
超強干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的python语言的作者是_Python是一门动态语言的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python装饰器函数执行后日志_Pyt
- 下一篇: python爬虫设计_python爬虫设