亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

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

python私有變量和私有方法

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

掃碼添加小助手

加入工程師交流群

python私有變量和私有方法

1. 下劃線妙用

在 Python 中,下劃線可是非常推薦使用的符號:

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

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

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

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

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

單末尾下劃線:var_

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

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

單下劃線:_

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

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

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

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

請看下面這個例子

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

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

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

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

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

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

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

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

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

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

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

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

>>> 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 不一樣,嘗試訪問后卻報了 AttributeError,屬性不存在。

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

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

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

>>> demo._Demo__baz
33

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

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

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

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

4. 總結(jié)一下

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

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

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

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

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

審核編輯:符乾江

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

    關(guān)注

    3

    文章

    4404

    瀏覽量

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

    關(guān)注

    30

    文章

    4932

    瀏覽量

    72841
  • python
    +關(guān)注

    關(guān)注

    57

    文章

    4851

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

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

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

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

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

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

    私有云電腦,怎樣成功搭建私有云電腦

    ? ? 在信息時代,遠(yuǎn)程連接使我們能夠在不同的地點之間建立起緊密的聯(lián)系,實現(xiàn)資源的共享和協(xié)同工作。這次給大家介紹怎樣成功搭建私有云電腦? ? ?怎樣成功搭建私有云電腦? ? ?硬件準(zhǔn)備,選擇一臺性能
    的頭像 發(fā)表于 01-24 10:14 ?768次閱讀
    <b class='flag-5'>私有</b>云電腦,怎樣成功搭建<b class='flag-5'>私有</b>云電腦

    Flexusx 實例與 Harbor 私有鏡像倉庫的完美結(jié)合

    前言 華為云 828 企業(yè)上云節(jié),F(xiàn)lexus X 實例攜手 Harbor 私有鏡像倉庫,共創(chuàng)云上安全高效新生態(tài)!Flexus X 以其卓越性能與穩(wěn)定性,為 Harbor 提供了理想的運行環(huán)境
    的頭像 發(fā)表于 01-22 18:04 ?557次閱讀
    Flexusx 實例與 Harbor <b class='flag-5'>私有</b>鏡像倉庫的完美結(jié)合

    把電腦當(dāng)私有云,把電腦當(dāng)私有云存在的風(fēng)險

    在數(shù)字化轉(zhuǎn)型的洪流中,遠(yuǎn)程連接已蔚然成風(fēng),而電腦遠(yuǎn)程連接軟件則成為了連接各方的重要紐帶。它們不僅跨越了地域的鴻溝,更讓溝通與協(xié)作實現(xiàn)了無縫銜接。今天小編要給大家講解把電腦當(dāng)私有云存在的風(fēng)險
    的頭像 發(fā)表于 01-22 17:31 ?507次閱讀
    把電腦當(dāng)<b class='flag-5'>私有</b>云,把電腦當(dāng)<b class='flag-5'>私有</b>云存在的風(fēng)險

    電腦私有云存儲怎么用啊,電腦私有云存儲的使用方法

    電腦私有云存儲怎么用啊,電腦私有云存儲的使用方法 ? ? 在當(dāng)今數(shù)字化時代,電腦私有云存儲為我們提供了一種安全、便捷的數(shù)據(jù)存儲和管理方式,以下是其使用
    的頭像 發(fā)表于 01-22 09:58 ?1034次閱讀
    電腦<b class='flag-5'>私有</b>云存儲怎么用啊,電腦<b class='flag-5'>私有</b>云存儲的使用<b class='flag-5'>方法</b>

    電腦私有云存儲什么意思,電腦私有云存儲優(yōu)勢與搭建方式

    ? ? 在這個數(shù)字化時代,我們的生活和工作都與數(shù)據(jù)緊密相連。從海量的工作文檔、珍貴的家庭照片,到重要的學(xué)習(xí)資料,數(shù)據(jù)量不斷攀升,如何高效、安全地存儲和管理這些數(shù)據(jù)成為了一大難題。電腦私有云存儲的出現(xiàn)
    的頭像 發(fā)表于 01-17 14:32 ?959次閱讀
    電腦<b class='flag-5'>私有</b>云存儲什么意思,電腦<b class='flag-5'>私有</b>云存儲優(yōu)勢與搭建方式

    蘋果電腦搭建私有云,蘋果電腦搭建私有云的詳細(xì)操作步驟

    ? ? 隨著云計算技術(shù)的飛速發(fā)展,云電腦逐漸走進(jìn)了人們的視野。它像一朵神奇的云,承載著我們的數(shù)據(jù)和應(yīng)用,讓我們隨時隨地都能享受到高效的計算服務(wù)。今天就為大家介紹蘋果電腦搭建私有云的詳細(xì)操作步驟
    的頭像 發(fā)表于 01-17 10:17 ?1850次閱讀
    蘋果電腦搭建<b class='flag-5'>私有</b>云,蘋果電腦搭建<b class='flag-5'>私有</b>云的詳細(xì)操作步驟

    用普通電腦搭建私有云,用普通電腦搭建私有云教程

    隨著云存儲的普及,越來越多的用戶開始考慮搭建自己的私有云系統(tǒng)。那普通電腦也能搭建私有云嗎?當(dāng)然可以,并且方法很簡單。首先,私有云是什么?與公有云存儲不同,
    的頭像 發(fā)表于 01-13 13:55 ?1083次閱讀
    用普通電腦搭建<b class='flag-5'>私有</b>云,用普通電腦搭建<b class='flag-5'>私有</b>云教程

    電腦制作私有云盤,電腦制作私有云盤的教程,個人云電腦是什么以及怎么連接

    繳費,告別停車難困擾。無人駕駛出租車通過遠(yuǎn)程云控保障行駛安全,未來出行因遠(yuǎn)程連接變得智能、便捷、舒適。接下來和大家一起探索電腦制作私有云盤的教程。 ? ?電腦制作私有云盤的教程: ? ?制作電腦私有云盤,先選擇合適的
    的頭像 發(fā)表于 12-30 14:08 ?646次閱讀
    電腦制作<b class='flag-5'>私有</b>云盤,電腦制作<b class='flag-5'>私有</b>云盤的教程,個人云電腦是什么以及怎么連接

    電腦安裝聯(lián)想私有云,電腦如何安裝聯(lián)想私有云?

    ? ? 在局域網(wǎng)環(huán)境中,云電腦工具是企業(yè)實現(xiàn)高效內(nèi)部管理和協(xié)作的重要工具。這些軟件不僅能夠幫助企業(yè)提升工作效率,還能增強信息安全和監(jiān)控能力。今天小編要講解電腦如何安裝聯(lián)想私有云。 ? ?在電腦上安裝
    的頭像 發(fā)表于 12-25 13:34 ?1096次閱讀
    電腦安裝聯(lián)想<b class='flag-5'>私有</b>云,電腦如何安裝聯(lián)想<b class='flag-5'>私有</b>云?

    私有云電腦是什么,私有云電腦是什么,個人云電腦是什么以及怎么連接

    的關(guān)系更加親密無間。接下來和大家一起探索私有云電腦是什么。 ? ?私有云電腦是什么: ? ?私有云電腦是一種相對公有云電腦而言,將云計算資源部署在企業(yè)、家庭等私有環(huán)境中的電腦使用模式。
    的頭像 發(fā)表于 12-25 13:28 ?742次閱讀
    <b class='flag-5'>私有</b>云電腦是什么,<b class='flag-5'>私有</b>云電腦是什么,個人云電腦是什么以及怎么連接

    SAP ERP 私有云和RISE with SAP 有什么區(qū)別?

    SAP ERP 私有云版是一款 ERP 云解決方案,也是 RISE with SAP 的核心。SAP ERP 私有云版是SAP公司提供的一種企業(yè)資源規(guī)劃(ERP)解決方案,它結(jié)合了傳統(tǒng)的SAP
    的頭像 發(fā)表于 11-18 09:20 ?1112次閱讀