在沒有定義乙個屬性的時候,我們可以動態的定義乙個屬性或者方法。
from types import methodtype
class person:
pass
if __name__ == '__main__':
p = person()
p.name = "laobi"
print(p.name)
f:\學習**\python**\venv\scripts\python.exe f:/學習**/python**/day5/動態新增屬性.py
laobi
process finished with exit code 0
有些情況沒有在定義類是新增它的屬性或者方法(比如,我們使用第三方函式庫的時候)。但可以通過動態的方法,在程式執行的過程中新增。
from types import methodtype
class person:
pass
def tell(self):
print("my name is %s"%(self.name))
if __name__ == '__main__':
p = person()
p.name = "laobi"
print(p.name)
p.speak = methodtype(tell,p)
#將tell方法繫結到p上
p.speak()
f:\學習**\python**\venv\scripts\python.exe f:/學習**/python**/day5/動態新增屬性.py
laobi
my name is laobi
process finished with exit code 0
class person:
__slots__ = ("name","age")
def __init__(self,name,age):
self.name = name
self.age = age
if __name__ == '__main__':
p = person("小紅",20)
print(p.name)
print(p.age)
# p.tell = "20000"
# print(p.tell)
f:\學習**\python**\venv\scripts\python.exe f:/學習**/python**/day5/限制新增屬性.py
小紅20
process finished with exit code 0
python動態新增屬性和方法
class person def init self,name,age self.name name self.age age p1 person ff 28 print p1.name,p1.age 給例項物件動態新增 屬性 p1.female print p1.給類動態新增屬性 person.h...
Python動態新增屬性和方法
動態新增屬性,就是這個屬性不是在類定義的時候新增的,而是在程式執行過程中新增的,動態新增屬性有兩種方法,第乙個是直接通過物件名.屬性名,第二個是通過setattr新增 1 第一種 使用物件.屬性名新增 p.ageb 18 2 第二種,使用setattr函式新增 class person def in...
Python的動態新增屬性與方法
我們都知道python是動態語言。動態?動態在 呢?假如c語言定義了乙個類,我們在類固定的情況下,可以不可以為這個類或者這個類的物件新增物件呢?答案肯定是否定的 python就可以。下面我們來看看。一.動態新增屬性 1.動態新增物件屬性 我們來新建乙個類。我們建立了乙個person類,用person...