網(wǎng)站首頁 編程語言 正文
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
相關(guān)推薦
- 2023-02-03 python本地降級(jí)pip的方法步驟_python
- 2022-02-22 如何利用nginx做代理緩存淺析_nginx
- 2022-12-05 useReducer?createContext代替Redux原理示例解析_React
- 2022-06-16 golang?validator庫參數(shù)校驗(yàn)實(shí)用技巧干貨_Golang
- 2022-06-25 說說react中引入css的方式有哪些并區(qū)別在哪_React
- 2022-09-09 Go語言提升開發(fā)效率的語法糖技巧分享_Golang
- 2022-10-10 scrapy框架ItemPipeline的使用_python
- 2022-07-17 SQL實(shí)現(xiàn)查詢某字段的值為空的記錄_MsSql
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支