python定義類self用法實(shí)例解析
這篇文章主要介紹了python定義類self用法實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
在定義類的過(guò)程中,無(wú)論是顯式的創(chuàng)建類的構(gòu)造方法,還是向類中添加實(shí)例方法,都要將self參數(shù)作為方法的第一個(gè)參數(shù)。
class Person:
def __init__(self):
print("正在執(zhí)行構(gòu)造方法")
def study(self, name):
print(name, "正在學(xué)python")
python類方法中的self參數(shù)就相當(dāng)于C++中的this指針。
同一個(gè)類可以產(chǎn)生多個(gè)對(duì)象,當(dāng)某個(gè)對(duì)象調(diào)用類方法時(shí),該對(duì)象會(huì)把自身的引用作為第一個(gè)參數(shù)自動(dòng)傳給該方法,換句話說(shuō),python會(huì)自動(dòng)綁定類方法的第一個(gè)參數(shù)指向調(diào)用該方法的對(duì)象。
如此,python解釋器就能知道到底要操作哪個(gè)對(duì)象的方法了。
程序在調(diào)用實(shí)例方法和構(gòu)造方法時(shí),不需要手動(dòng)為第一個(gè)參數(shù)傳值。
class Person:
def __init__(self):
print("正在執(zhí)行構(gòu)造方法")
def study(self):
print(self, "正在學(xué)python")
xiaobai = Person()
xiaobai.study()
mary = Person()
mary.study()
#執(zhí)行結(jié)果
#study()中的self代表該方法的調(diào)用者,即誰(shuí)調(diào)用該方法,那么self就代表誰(shuí)。
正在執(zhí)行構(gòu)造方法
<__main__.Person object at 0x0000013B6A24BA58> 正在學(xué)python
正在執(zhí)行構(gòu)造方法
<__main__.Person object at 0x0000013B6A24BC88> 正在學(xué)python
對(duì)于構(gòu)造函數(shù)中的self參數(shù),其代表的是當(dāng)前正在初始化的類對(duì)象。
class Person:
name = "xiaobai"
def __init__(self, name):
self.name = name
mary = Person("mary")
print(mary.name)
lisa = Person("lisa")
print(lisa.name)
#執(zhí)行結(jié)果
mary
lisa
總之,無(wú)論是類中的構(gòu)造函數(shù)還是普通的類方法,實(shí)際調(diào)用它們的是誰(shuí),則self就代表誰(shuí)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
三種Matplotlib中動(dòng)態(tài)更新繪圖的方法總結(jié)
這篇文章主要為大家詳細(xì)介紹了如何隨著數(shù)據(jù)的變化動(dòng)態(tài)更新Matplotlib(Python的數(shù)據(jù)可視化庫(kù))圖,文中介紹了常用的三種方法,希望對(duì)大家有所幫助2024-04-04
tensorflow入門:TFRecordDataset變長(zhǎng)數(shù)據(jù)的batch讀取詳解
今天小編就為大家分享一篇tensorflow入門:TFRecordDataset變長(zhǎng)數(shù)據(jù)的batch讀取詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01
python系統(tǒng)指定文件的查找只輸出目錄下所有文件及文件夾
這篇文章主要介紹了python系統(tǒng)指定文件的查找只輸出目錄下所有文件及文件夾,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01
Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法
下面小編就為大家分享一篇Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
python pcm音頻添加頭轉(zhuǎn)成Wav格式文件的方法
今天小編就為大家分享一篇python pcm音頻添加頭轉(zhuǎn)成Wav格式文件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
CentOS 7.9 安裝 Python 3.10 詳細(xì)步驟及常見(jiàn)錯(cuò)誤
CentOS7.9安裝Python3.10需升級(jí)OpenSSL至1.1.1,配置編譯參數(shù)并使用altinstall避免覆蓋Python2.7,設(shè)置環(huán)境變量修復(fù)yum沖突,處理依賴缺失及模塊編譯錯(cuò)誤,優(yōu)化pip源以提升兼容性,本文給大家介紹CentOS 7.9 安裝 Python 3.10 詳細(xì)步驟及常見(jiàn)錯(cuò)誤,感興趣的朋友一起看看吧2025-06-06
Python實(shí)現(xiàn)批量CSV轉(zhuǎn)Excel的高性能處理方案
在日常辦公中,我們經(jīng)常需要將CSV格式的數(shù)據(jù)轉(zhuǎn)換為Excel文件,本文將介紹一個(gè)基于Python的高性能解決方案,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-09-09

