一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

python的類訪問控制

馬哥Linux運(yùn)維 ? 來源:lq ? 2018-12-10 16:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

python類中,有屬性和方法,外部代碼可以直接通過實(shí)例來訪問修改。

如果需要讓內(nèi)部的屬性不被外部訪問到,在屬性變量前面加上__2個(gè)下劃線。

在python中,實(shí)例的變量名如果是由__2個(gè)下花錢開頭的,就代表這是一個(gè)私有變量:只有內(nèi)部可以訪問,外部不許直接通過類或者實(shí)例訪問。

代碼:

雖然說外部訪問不了一個(gè)內(nèi)部私有屬性,但是可以通過類中方法間接的訪問、修改

類內(nèi)部方法getname和setname:

雙下劃線開頭的私有屬性,是不是一定不能從外部訪問呢?

其實(shí)不是的:

python中2個(gè)有趣的現(xiàn)象,外部變量遮蔽類中的變量。

從實(shí)例中訪問類屬性必須要謹(jǐn)慎。

和通常python變量一樣,任何對(duì)實(shí)例屬性的賦值都會(huì)創(chuàng)建一個(gè)實(shí)例屬性(如果實(shí)例屬性不存在的話),并且對(duì)其賦值。

但是,如果類屬性中存在同名的屬性,就是產(chǎn)生前面所說的有趣的副作用。

python3.x依舊存在這個(gè)情況。

下面上代碼:

為什么下面的dict類型的就會(huì)del報(bào)錯(cuò)呢??

原因在于:python是由c寫成的cpython。

c語言中,并沒有字符串這個(gè)概念:c中叫做字符數(shù)組,存儲(chǔ)在內(nèi)存中,是一塊連續(xù)的空間,不可修改,任何修改字符數(shù)組的行為,都會(huì)在不影響原始的字符數(shù)組下,創(chuàng)建產(chǎn)生一個(gè)新的字符數(shù)組。

而dict就不一樣了,它在內(nèi)存中存儲(chǔ),是一系列非連續(xù)的內(nèi)存空間,可以在原來的基礎(chǔ)上修改,所以,第二個(gè)例子中del f.x就會(huì)報(bào)錯(cuò)。

聲明:本文內(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)投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7632

    瀏覽量

    141797
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86773

原文標(biāo)題:python的類訪問控制

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    如何使用Python? 優(yōu)勢(shì)有哪些?

    pupil.print_score () 語句,調(diào)用實(shí)例的方法就是調(diào)用的方法,而這個(gè)方法是按照格式打印出  pupil.name:pupil.score,mlilei: 99。  Python優(yōu)勢(shì)有哪些?  1.
    發(fā)表于 07-30 18:08

    python的理解與使用

    新式的寫法,與之對(duì)應(yīng)的是 Python 2 的經(jīng)典寫法。3. 如何實(shí)例化?定義了之后,就可以通過下邊的寫法實(shí)例化它,并訪問屬性,調(diào)用方
    發(fā)表于 03-07 16:51

    python的多態(tài)和的property屬性

    python的多態(tài)多態(tài),是指在同一型下的不同形態(tài)。比如下面這段代碼class People: def speak(self):passclass American(People): def
    發(fā)表于 03-09 16:38

    python開發(fā)之‘’講解

    Python 在盡可能不增加新的語法和語義的情況下加入了機(jī)制。這種機(jī)制是 C++ 和 Modula-3 的混合。 Python中的沒有在用戶和定義之間建立一個(gè)絕對(duì)的屏障,而是依賴于
    發(fā)表于 03-15 14:12 ?1次下載

    揭開Python中self的神秘面紗

    許多python初學(xué)者,在接觸到python面向?qū)ο蟮臅r(shí)候,就被中包含的方法中的self打敗了,不知道self是何物?
    的頭像 發(fā)表于 01-19 17:51 ?1960次閱讀
    揭開<b class='flag-5'>Python</b><b class='flag-5'>類</b>中self的神秘面紗

    為什么要學(xué)習(xí)Python?Python的定義是怎么樣的應(yīng)該如何使用

    無法訪問私有變量,從而保證的設(shè)計(jì)思想和內(nèi)部結(jié)構(gòu)并不完全對(duì)外公開。在 Python中除了xxx格式的成員變量外,其他的成員變量都是公有變量。
    發(fā)表于 09-02 17:50 ?12次下載
    為什么要學(xué)習(xí)<b class='flag-5'>Python</b>?<b class='flag-5'>Python</b>中<b class='flag-5'>類</b>的定義是怎么樣的應(yīng)該如何使用

    10種聚介紹和Python代碼

    分享一篇關(guān)于聚的文章,10種聚介紹和Python代碼。
    的頭像 發(fā)表于 07-30 10:25 ?6174次閱讀

    簡(jiǎn)述python和實(shí)例屬性賦值

    python主體沒有任何內(nèi)容,只有pass語句,稱為空。 ## 1.2 obj.attr屬性賦值 通過obj.attr=value進(jìn)行和實(shí)例屬性賦值。
    的頭像 發(fā)表于 02-21 10:30 ?1367次閱讀

    Python的屬性和方法是什么

    編程中我們用來創(chuàng)建對(duì)象。日常生活中的汽車設(shè)計(jì)圖就是我們Python中的。日常生活中的小汽車就是Python中的對(duì)象。
    的頭像 發(fā)表于 02-23 10:17 ?1179次閱讀

    什么是python與對(duì)象

    Python中的,type函數(shù)查看數(shù)據(jù)類型
    的頭像 發(fā)表于 02-23 10:18 ?1084次閱讀

    Python中輕松調(diào)用Java方法-PyJNIus

    PyJNIus 是一個(gè)神奇的 Python 第三方模塊。它能使用Java本地接口將Java作為Python訪問
    的頭像 發(fā)表于 02-24 13:49 ?2066次閱讀

    Python中的和對(duì)象詳解

    Python 是一種面向?qū)ο蟮木幊陶Z言,它支持和對(duì)象。是一種用戶自定義的數(shù)據(jù)類型,用于定義對(duì)象的屬性和方法。對(duì)象是的實(shí)例,它包含的屬
    的頭像 發(fā)表于 04-20 16:53 ?1480次閱讀

    PyJNIus:在Python中輕松調(diào)用Java方法

    PyJNIus 是一個(gè)神奇的 Python 第三方模塊。它能使用Java本地接口將Java作為Python訪問
    的頭像 發(fā)表于 10-30 11:32 ?1422次閱讀

    PyJNIus :讓你在Python中輕松調(diào)用Java方法

    PyJNIus 是一個(gè)神奇的 Python 第三方模塊。它能使用Java本地接口將Java作為Python訪問
    的頭像 發(fā)表于 11-01 10:45 ?1134次閱讀

    Python中元的作用

    1.什么是 在理解元之前,我們必須先掌握Python中的(class)。 和大多數(shù)語言一樣,Python中的
    的頭像 發(fā)表于 11-02 11:18 ?867次閱讀
    <b class='flag-5'>Python</b>中元<b class='flag-5'>類</b>的作用