chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

python私有變量和私有方法

python爬蟲知識(shí)分享 ? 來源:python爬蟲知識(shí)分享 ? 作者:python爬蟲知識(shí)分享 ? 2022-03-08 16:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

python私有變量和私有方法

1. 下劃線妙用

在 Python 中,下劃線可是非常推薦使用的符號(hào):

變量名推薦使用下劃線分隔的蛇形命名法

魔法方法、構(gòu)造函數(shù)都需要使用雙下劃線

對(duì)于暫時(shí)用不到的變量值,可以賦值給單下劃線 _ 進(jìn)行占位

根據(jù)分類,我把下劃線寫法分成下面五種:

單前導(dǎo)下劃線:_var

單末尾下劃線:var_

雙前導(dǎo)下劃線:__var

雙前導(dǎo)和末尾下劃線:__var__

單下劃線:_

由于篇幅所限,本篇將只介紹跟標(biāo)題(私有變量與私有方法)有關(guān)的用法,也就是訪問控制。

上面五種寫法中,涉及到訪問控制的有:_var__var

2. 單前導(dǎo)下劃線 _var

下劃線前綴的含義是告知其他程序員以單個(gè)下劃線開頭的變量或方法僅供內(nèi)部使用。

請(qǐng)看下面這個(gè)例子

class Demo:
   def __init__(self):
       self.foo = 11
       self._bar = 22

如果你實(shí)例化此類,然后分別訪問 self.fooself._bar 會(huì)發(fā)生什么情況?

>>> demo = Demo()
>>> demo.foo
11
>>> demo._bar
22

結(jié)果是:外界都可以直接訪問這兩個(gè)屬性。

但實(shí)際上,二者是有區(qū)別的。PEP 8 有提及,如果一個(gè)屬性的有單前導(dǎo)下劃線,則該屬性應(yīng)該僅供內(nèi)部訪問。

但這并不是強(qiáng)制性的,不然上面我們也不可能通過 self._bar 訪問到 22,但做為一名 Python 程序員最好遵守這一共識(shí)。

3. 雙前導(dǎo)下劃線 __var

雙下劃線前綴會(huì)導(dǎo)致Python解釋器重寫屬性名稱,以避免子類中的命名沖突。

這也叫做名稱修飾(name mangling) - 解釋器更改變量的名稱,以便在類被擴(kuò)展的時(shí)候不容易產(chǎn)生沖突。

我知道這聽起來很抽象。因此,我組合了一個(gè)小小的代碼示例來予以說明:

class Demo:
   def __init__(self):
       self.foo = 11
       self._bar = 22
       self.__baz = 33

將其進(jìn)行實(shí)例化,然后使用 dir() 函數(shù)查看這個(gè)對(duì)象的屬性

>>> demo = Demo()
>>> dir(demo)
['_Demo__baz', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_bar', 'foo']

不難發(fā)現(xiàn),foo_bar 都很正常,可以使用 demo.屬性名 進(jìn)行訪問。

__baz 明顯和 foo 、 _bar 不一樣,嘗試訪問后卻報(bào)了 AttributeError,屬性不存在。

>>> demo.__baz
Traceback (most recent call last):
  File "", line 1, in 
AttributeError: 'Demo' object has no attribute '__baz'

如果你仔細(xì)觀察,你會(huì)看到此對(duì)象上有一個(gè)名為_Demo__baz的屬性。這就是Python解釋器所做的名稱修飾。它這樣做是為了防止變量在子類中被重寫。

如果想訪問,那得按照 dir 提示的寫法去訪問,在 __baz 前面加上 _類名

>>> demo._Demo__baz
33

總結(jié)可得,使用雙下劃線開頭的屬性變量,就是一個(gè)私有變量。

這樣的規(guī)則在屬性上生效,在方法上也同樣適用。

如果一個(gè)實(shí)例方法,以雙下劃線開頭,那么這個(gè)方法就是一個(gè)私有的方法,不能由實(shí)例對(duì)象或者類直接調(diào)用。

必須得通過 實(shí)例._類名__方法名 來調(diào)用。

4. 總結(jié)一下

Python并沒有真正的私有化支持,但可用下劃線得到偽私有。

盡量避免定義以下劃線開頭的變量。

私有變量:以雙下劃線前導(dǎo)的變量,可以使用 實(shí)例._類名__變量名 進(jìn)行訪問

私有方法:以雙下劃線前導(dǎo)的方法,可以使用 實(shí)例._類名__方法名() 進(jìn)行訪問

私有變量和私有方法,雖然有辦法訪問,但是仍然不建議使用上面給出的方法直接訪問,而應(yīng)該用統(tǒng)一的接口(函數(shù)入口)來對(duì)私有變量進(jìn)行查看、變量,對(duì)私有方法進(jìn)行調(diào)用。

審核編輯:符乾江

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4413

    瀏覽量

    67260
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4958

    瀏覽量

    73579
  • python
    +關(guān)注

    關(guān)注

    57

    文章

    4867

    瀏覽量

    89840
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    樂鑫推出私有化智能體平臺(tái):兼容主流大模型,打造多模態(tài) AI 能力

    樂鑫私有化智能體平臺(tái)樂鑫信息科技(688018.SH)宣布正式推出樂鑫私有化智能體平臺(tái)(ESPPrivateAgentsPlatform)。這是一個(gè)專為IoT設(shè)備廠商打造的自托管智能體平臺(tái),支持廠商
    的頭像 發(fā)表于 12-16 18:03 ?527次閱讀
    樂鑫推出<b class='flag-5'>私有</b>化智能體平臺(tái):兼容主流大模型,打造多模態(tài) AI 能力

    戴爾科技獲評(píng)IDC全球私有智能基礎(chǔ)架構(gòu)領(lǐng)導(dǎo)者

    戴爾科技集團(tuán)在最新發(fā)布的IDC MarketScape全球私有智能基礎(chǔ)架構(gòu)系統(tǒng)廠商評(píng)估報(bào)告中 被評(píng)為領(lǐng)導(dǎo)者!
    的頭像 發(fā)表于 11-20 13:52 ?459次閱讀

    工業(yè)物聯(lián)網(wǎng)平臺(tái)適合私有本地部署還是云端部署?

    工業(yè)物聯(lián)網(wǎng)平臺(tái)的部署方式需根據(jù)企業(yè)核心需求選擇, 私有本地部署適合數(shù)據(jù)安全要求極高、需深度定制且具備技術(shù)實(shí)力的企業(yè);云端部署則更適合追求成本效益、靈活擴(kuò)展及快速上線的中小型企業(yè)或?qū)崟r(shí)性要求不高的場(chǎng)景
    的頭像 發(fā)表于 11-12 11:42 ?379次閱讀
    工業(yè)物聯(lián)網(wǎng)平臺(tái)適合<b class='flag-5'>私有</b>本地部署還是云端部署?

    SIP協(xié)議和私有協(xié)議廣播區(qū)別

    電子發(fā)燒友網(wǎng)站提供《SIP協(xié)議和私有協(xié)議廣播區(qū)別.docx》資料免費(fèi)下載
    發(fā)表于 11-06 16:31 ?1次下載

    蜂鳥E203 SoC的私有設(shè)備總線的簡(jiǎn)單使用

    BIU模塊接收IFU和LSU單元的存儲(chǔ)器訪問請(qǐng)求,判斷訪問地址區(qū)間后,通過ICB接口來訪問外部的不同接口,比如系統(tǒng)存儲(chǔ)接口和私有外設(shè)接口。系統(tǒng)存儲(chǔ)接口連接的是SoC中的系統(tǒng)存儲(chǔ)總線,可以訪問ROM
    發(fā)表于 10-30 07:51

    SIP廣播對(duì)講和IP私有協(xié)議廣播對(duì)講區(qū)別

    電子發(fā)燒友網(wǎng)站提供《SIP廣播對(duì)講和IP私有協(xié)議廣播對(duì)講區(qū)別.docx》資料免費(fèi)下載
    發(fā)表于 09-25 16:18 ?2次下載

    研華推出ACE應(yīng)用導(dǎo)向邊緣計(jì)算解決方案及WISE-STACK私有云平臺(tái)

    研華科技今日舉辦法說會(huì),公司2025上半年?duì)I收呈雙位數(shù)成長(zhǎng)。面對(duì)市場(chǎng)對(duì)邊緣計(jì)算與 AI 的高度需求,研華推出ACE應(yīng)用導(dǎo)向邊緣計(jì)算方案與WISE-STACK私有云平臺(tái),強(qiáng)化軟硬整合與生態(tài)協(xié)同,加速AI應(yīng)用落地。
    的頭像 發(fā)表于 08-12 15:37 ?2120次閱讀

    騰視科技大模型一體機(jī)解決方案:低成本私有化落地,重塑行業(yè)智能應(yīng)用新格局

    當(dāng)大模型進(jìn)入 “深水區(qū)”,私有化與低成本已成為企業(yè)選型的核心考量。騰視科技大模型一體機(jī)解決方案,用技術(shù)創(chuàng)新打破 “安全與成本不可兼得” 的困境,讓各行業(yè)都能輕松擁抱智能時(shí)代。以低成本、私有化的優(yōu)勢(shì),為各行業(yè)帶來智能化新體驗(yàn),開啟智能應(yīng)用落地新篇章。
    的頭像 發(fā)表于 08-07 11:06 ?1849次閱讀
    騰視科技大模型一體機(jī)解決方案:低成本<b class='flag-5'>私有</b>化落地,重塑行業(yè)智能應(yīng)用新格局

    自建私有云vs.公有云:長(zhǎng)期成本建模深度分析

    私有云需承擔(dān)高額初始投資(硬件、軟件、數(shù)據(jù)中心)和長(zhǎng)期運(yùn)維成本,但適合負(fù)載穩(wěn)定、數(shù)據(jù)敏感的場(chǎng)景;公有云以按需付費(fèi)降低門檻,適合業(yè)務(wù)波動(dòng)大或快速增長(zhǎng)的需求,但長(zhǎng)期使用可能面臨規(guī)模成本暴增和隱性費(fèi)用?;旌显撇呗钥蓛?yōu)化成本,結(jié)合兩者優(yōu)勢(shì)。
    的頭像 發(fā)表于 07-11 09:40 ?1272次閱讀
    自建<b class='flag-5'>私有</b>云vs.公有云:長(zhǎng)期成本建模深度分析

    AIBOX 產(chǎn)品矩陣:支持主流大模型的私有化部署,滿足個(gè)性化 AI 應(yīng)用需求

    AIBOX系列產(chǎn)品具備高性能、低功耗、環(huán)境適應(yīng)性強(qiáng)等特點(diǎn),算力覆蓋6-157TOPS,通過搭配多樣化深度學(xué)習(xí)算法,體積小巧,能夠支持主流大模型的私有化部署,為多個(gè)智慧行業(yè)進(jìn)行數(shù)字化賦能。目前
    的頭像 發(fā)表于 06-25 16:32 ?1734次閱讀
    AIBOX 產(chǎn)品矩陣:支持主流大模型的<b class='flag-5'>私有</b>化部署,滿足個(gè)性化 AI 應(yīng)用需求

    極空間私有云發(fā)布新品Z4Pro+ 煥“芯”一代 破界上市

    今日,國(guó)內(nèi)網(wǎng)絡(luò)存儲(chǔ)行業(yè)領(lǐng)先品牌極空間私有云正式發(fā)布了全新一代四盤位產(chǎn)品——Z4Pro+,基于Intel全新一代架構(gòu)處理器,以“易用、智能、安全”為產(chǎn)品核心定位,為用戶帶來煥然一新的智能數(shù)據(jù)管理
    的頭像 發(fā)表于 05-15 15:55 ?1506次閱讀
    極空間<b class='flag-5'>私有</b>云發(fā)布新品Z4Pro+ 煥“芯”一代 破界上市

    阿普奇工控機(jī)私有化部署Deepseek:平衡性能、成本、應(yīng)用三者的優(yōu)選硬件方案

    的競(jìng)爭(zhēng)格局,它不僅加速了生產(chǎn)模式的智能化升級(jí),其開源模式與低成本特性,使中小企業(yè)能以更低門檻接入AI能力, 推動(dòng)行業(yè)從“經(jīng)驗(yàn)驅(qū)動(dòng)”向“數(shù)據(jù)智能驅(qū)動(dòng)”轉(zhuǎn)型 。 但對(duì)企業(yè)而言,私有化部署Deepseek更具備戰(zhàn)略必要性: 其一 ,私有化部署能保障數(shù)據(jù)零外漏,保證
    的頭像 發(fā)表于 03-06 13:22 ?838次閱讀
    阿普奇工控機(jī)<b class='flag-5'>私有</b>化部署Deepseek:平衡性能、成本、應(yīng)用三者的優(yōu)選硬件方案

    NAS私有云哪個(gè)牌子過硬?解析綠聯(lián)NAS這款品牌的實(shí)力

    品牌背后的硬實(shí)力,是不是更具發(fā)展?jié)摿?。為了幫助你更好地選擇,將對(duì)市場(chǎng)上這款備受歡迎的綠聯(lián)NAS私有云的品牌實(shí)力進(jìn)行分享,給你一些參考和啟發(fā)。 一、行業(yè)地位:從新銳到領(lǐng)軍,國(guó)產(chǎn)存儲(chǔ)的破局者 綠聯(lián)科技自2018年切入NAS私有云領(lǐng)域以來,僅用7年時(shí)間
    的頭像 發(fā)表于 02-25 14:08 ?1105次閱讀

    虛擬私有服務(wù)器,開啟企業(yè)數(shù)字化轉(zhuǎn)型新征程

    在當(dāng)今數(shù)字化浪潮席卷全球的時(shí)代,企業(yè)數(shù)字化轉(zhuǎn)型已成為謀求發(fā)展與競(jìng)爭(zhēng)力的必經(jīng)之路。而虛擬私有服務(wù)器,作為一種創(chuàng)新的云計(jì)算解決方案,正以其獨(dú)特優(yōu)勢(shì),為企業(yè)開啟數(shù)字化轉(zhuǎn)型的新征程。 ?虛擬私有服務(wù)器在提升
    的頭像 發(fā)表于 02-24 10:41 ?616次閱讀

    私有云和公有云有什么區(qū)別

    私有云和公有云在多個(gè)方面存在顯著的區(qū)別,以下是具體的比較,主機(jī)推薦小編為您整理發(fā)布私有云和公有云有什么區(qū)別。
    的頭像 發(fā)表于 02-20 10:38 ?1758次閱讀