第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

python類(lèi)中的變量范圍

python類(lèi)中的變量范圍

炎炎設(shè)計(jì) 2019-07-27 15:15:22
python類(lèi)中的變量范圍在類(lèi)中聲明變量(函數(shù)之外):所有類(lèi)函數(shù)都可以訪問(wèn)它(基本上是一個(gè)公共變量)在類(lèi)內(nèi)的函數(shù)中聲明變量:只有該函數(shù)才能訪問(wèn)它(在該函數(shù)范圍內(nèi))在類(lèi)內(nèi)的函數(shù)中聲明一個(gè)具有Self.(變量名)的變量:所有類(lèi)函數(shù)都可以訪問(wèn)它(這與全局函數(shù)(變量名)有什么不同?)由于沒(méi)有私有/保護(hù),所以所有東西都是公共的,所以從類(lèi)內(nèi)部訪問(wèn)的所有東西都可以從類(lèi)之外訪問(wèn)。還有什么細(xì)微之處我應(yīng)該知道,或者我?guī)缀趺靼琢耍?
查看完整描述

3 回答

?
夢(mèng)里花落0921

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超6個(gè)贊

由于你的問(wèn)題中的清單不是100%清楚,我決定用一個(gè)簡(jiǎn)單的例子來(lái)解釋它。它還包括一些東西,如__something列表中沒(méi)有提到的變量。

class Test:
    a = None
    b = None

    def __init__(self, a):
        print self.a
        self.a = a
        self._x = 123
        self.__y = 123
        b = 'meow'

一開(kāi)始,ab是僅為類(lèi)本身定義的變量-可通過(guò)Test.aTest.b而不是特定于任何情況。

在創(chuàng)建該類(lèi)的實(shí)例時(shí)(這將導(dǎo)致__init__執(zhí)行):

  • print self.a

    找不到實(shí)例變量,因此返回類(lèi)變量
  • self.a = a

    *一個(gè)新的實(shí)例變量

    a

    是被創(chuàng)造出來(lái)的。這樣就隱藏了類(lèi)變量

    self.a

    現(xiàn)在將引用實(shí)例變量;要訪問(wèn)類(lèi)變量,現(xiàn)在必須使用

    Test.a

  • 分配給

    self._x

    創(chuàng)建一個(gè)新的實(shí)例變量。它被認(rèn)為“不是公共API的一部分”(也是受保護(hù)的),但從技術(shù)上講,它沒(méi)有不同的行為。
  • 分配給

    self.__y

    創(chuàng)建一個(gè)名為

    _Test__y

    ,也就是說(shuō),它的名稱被損壞了,所以除非您使用損壞的名稱,否則不能從類(lèi)外部訪問(wèn)它。這可以用于“私有”變量。
  • 分配給

    b

    創(chuàng)建一個(gè)局部變量。它在任何地方都是不可用的,但是

    __init__

    函數(shù),因?yàn)樗鼪](méi)有保存在實(shí)例、類(lèi)或全局范圍中。




查看完整回答
反對(duì) 回復(fù) 2019-07-29
?
BIG陽(yáng)

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊

在類(lèi)的頂層聲明變量就像聲明靜態(tài)變量或類(lèi)變量一樣。使用Self對(duì)其進(jìn)行限定是在聲明一個(gè)實(shí)例變量。類(lèi)變量可以通過(guò)類(lèi)名引用來(lái)修改。Class.x = 5),所有實(shí)例都將繼承這些更改。實(shí)例變量對(duì)實(shí)例是私有的,只能由該實(shí)例進(jìn)行修改。

可以使用下劃線實(shí)現(xiàn)某種級(jí)別的訪問(wèn)控制??匆?jiàn)Python教程中的私有變量..按照慣例,變量以一個(gè)下劃線開(kāi)頭。_foo是API的非公共部分,名稱以兩個(gè)下劃線開(kāi)頭。__foo會(huì)有它的名字破損成為_classname__foo.




查看完整回答
反對(duì) 回復(fù) 2019-07-29
?
Helenr

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超4個(gè)贊


我們可以使用這個(gè)范圍作為:案例1:在班里
class test:<br>     def __init__(self, a):          self.__elements = a<br>     def change_a(self): self.__elements = 5

案例2:課外 
t = test(5)

這將按對(duì)象訪問(wèn)._classname_Privatevaribalename

print(t._test__elements)

這將打印a‘的更改值。




查看完整回答
反對(duì) 回復(fù) 2019-07-29
  • 3 回答
  • 0 關(guān)注
  • 493 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)