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)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4400

    瀏覽量

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

    關(guān)注

    30

    文章

    4922

    瀏覽量

    72265
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4848

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    迅為RK3568開發(fā)板篇OpenHarmony配置HDF驅(qū)動(dòng)控制LED-配置創(chuàng)建私有配置文件

    和 Init 方法傳遞給驅(qū)動(dòng)。 topeet_config.hcs 具體內(nèi)容如下所示: 驅(qū)動(dòng)私有配置文件寫完之后,我們需要將該配置文件添加到板級(jí)配置入口文件vendor/hihope/rk3568/hdf_config/khdf/hdf.hcs 中,如下圖所示:
    發(fā)表于 01-10 11:13

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

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

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

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

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

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

    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 ?1056次閱讀

    k8s可以部署私有云嗎?私有云部署全攻略

    Kubernetes(簡稱K8S)可以部署私有云。Kubernetes是一個(gè)開源的容器編排引擎,能夠自動(dòng)化容器的部署、擴(kuò)展和管理,使得應(yīng)用可以在各種環(huán)境中高效運(yùn)行。通過使用Kubernetes,企業(yè)可以在自己的數(shù)據(jù)中心或私有云環(huán)境中搭建和管理容器化的應(yīng)用,實(shí)現(xiàn)高度的靈活性
    的頭像 發(fā)表于 10-25 09:32 ?641次閱讀