class
student
:def
__init__
(self,name,age)
: self.name=name
self.age=age
defeat(self)
:print
(self.name+
'在吃飯'
)stu1=student(
'張三',20
)stu2=student(
'李四',30
)print(id
(stu1)
)print(id
(stu2)
)stu2.gender=
'女'print
(stu1.name,stu1.age)
print
(stu2.name,stu2.age,stu2.gender)
stu1.eat(
)stu2.eat(
)def
show()
:print
('sdsadsdsdssd'
)stu1.show=show
stu1.show(
)#2434502356664
#2434502356440
#張三 20
#李四 30 女
#張三在吃飯
#李四在吃飯
stu=student(
)'''1'''
stu.eaet(
)'''2'''
student.eat(stu)
'''3'''
#2和3效果相同
('汽車已啟動')
car=car(
'寶馬x5'
('person中=init'
) self.name=
'xao ming'
self.age=
18 self.gender=
'nan'
self.__***=
'nv'
defeat
(self)
:print
(f'person:在吃飯'
)#f'***x'中f使{}中的內容能夠被讀取
@classmethod
defshow_num
(cls)
:print
((f'人類的數量:'))
@staticmethod
deffunc1()
:print
('人類破壞環境'
)class
student
(person)
:pass
print
(student.num)
stu=student(
)print
(stu.name,stu.age,stu.gender)
stu.eat(
)student.show_num(
)student.func1(
)print
(stu.__dict__)
#student 繼承了 person 的所有屬性
('教齡'
,self.teachofyear)
stu=student(
'張三',20
,'1001'
)teacher=teacher(
'李四',34
,10)stu.info(
)teacher.info(
)#張三 20
#1001
#李四 34
#教齡 10
Python動態繫結屬性和方法
當我們定義了乙個 class,建立了乙個 class 的例項後,我們可以給該例項繫結任何屬性和方法,也可以給類繫結任何屬性和方法,這就是動態語言的靈活性。給例項繫結屬性和方法,每個例項之間新增的部分是互不干擾的。1.先來看乙個方法 methodtype 如果我們在模組中定義乙個方法,而不是在類中定義...
屬性和方法的動態繫結和限制
定義了乙個class,建立了乙個class的例項後,我們可以給該例項繫結任何屬性和方法,這就是動態語言的靈活性。先定義class 給例項繫結乙個屬性 給例項繫結乙個方法 只是繫結這個單獨的物件上,同類的其他例項化的物件的並沒有受到影響。給類繫結乙個方法 class person pass defse...
python 動態繫結屬性方法
import types 定義類 class person object num 0 def init self,name,age none self.name name self.age age def eat self print eat food 定義例項方法 def run self,spe...