日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

Python?動(dòng)態(tài)綁定屬性和方法?_python

作者:Python-派大星 ? 更新時(shí)間: 2022-05-20 編程語言

Python是動(dòng)態(tài)語言,在創(chuàng)建對(duì)象后,可以動(dòng)態(tài)地綁定屬性和方法

定義類:

class Student: ?#定義類
? ? #在__init__初始化方法中定義的屬性是Student類的所有對(duì)象共享的屬性,如self.name,self.age
? ? def __init__(self,name,age): ?#__init__初始化方法
? ? ? ? self.name=name ? ?#將局部變量name,賦值給實(shí)例變量
? ? ? ? self.age=age
? ? def eat(self): ?#類方法
? ? ? ? print(self.name+"在吃飯")

一個(gè)Student類可以創(chuàng)建N多個(gè)Student類的實(shí)例對(duì)象,每個(gè)實(shí)例對(duì)象的屬性可以相同也可以不同

如下面的張三李四:

stu1=Student("張三",20) ? ?#創(chuàng)建Student類的實(shí)例對(duì)象stu1
stu2=Student("李四",30)

若只想給一個(gè)實(shí)例對(duì)象添加屬性,那么就可以使用動(dòng)態(tài)綁定屬性的方法,為stu1添加一個(gè)性別屬性
在對(duì)象創(chuàng)建后創(chuàng)建的屬性,只適用于該對(duì)象使用

stu1.gender="女" ? #只為stu1實(shí)例對(duì)象動(dòng)態(tài)添加屬性,該屬性只適用于stu1實(shí)例對(duì)象
print(stu1.name,stu1.age,stu1.gender) ? #張三 20 女
print(stu2.name,stu2.age) ? #張三 20 女
#print(stu2.name,stu2.age,stu2.gender) ? #AttributeError報(bào)錯(cuò),對(duì)象里沒有該屬性

總結(jié):

  • 1.在__init__初始化方法中定義的屬性是Student類的所有對(duì)象共享的屬性,如self.name,self.age
  • 2.在對(duì)象創(chuàng)建后創(chuàng)建的屬性,只適用于該對(duì)象使用,若其他對(duì)象使用則會(huì)報(bào)錯(cuò),因?yàn)闆]有該屬性
  • 3.一個(gè)Student類可以創(chuàng)建N多個(gè)Student類的實(shí)例對(duì)象,每個(gè)實(shí)例對(duì)象的屬性可以相同也可以不同,

如下面的張三李四:

stu1.eat() ?#張三在吃飯,對(duì)象可以直接引用類里定義的方法
stu2.eat() ?#李四在吃飯

除了可以動(dòng)態(tài)添加屬性,還可以動(dòng)態(tài)添加方法:

def show():
? ? print("定義在類之外的,稱為函數(shù)")
stu1.show=show ? ?#將定義的函數(shù)綁定在stu1這個(gè)對(duì)象上
stu1.show() ? #綁定后stu1就可以調(diào)用show()方法了
stu2.show()

知識(shí)點(diǎn)總結(jié):

編程思想:

  • 1.面向過程
  • 2.面向?qū)ο?/li>

類對(duì)象 ?class:

  • 1.類屬性
  • 2.類方法
  • 3.實(shí)例方法
  • 4.靜態(tài)方法

實(shí)例對(duì)象:

  • 1.類名() 創(chuàng)建實(shí)例對(duì)象c
  • 2.動(dòng)態(tài)綁定屬性
  • 3.動(dòng)態(tài)綁定方法

原文鏈接:https://blog.csdn.net/weixin_53466908/article/details/122871092

欄目分類
最近更新