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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

python類中的變量范圍

python類中的變量范圍

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

3 回答

?
RISEBY

TA貢獻1856條經(jīng)驗 獲得超5個贊

由于你的問題中的清單不是100%清楚,我決定用一個簡單的例子來解釋它。它還包括一些東西,如__something列表中沒有提到的變量。

class Test:
    a = None
    b = None

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

一開始,ab是僅為類本身定義的變量-可通過Test.aTest.b而不是特定于任何情況。

在創(chuàng)建該類的實例時(這將導致__init__執(zhí)行):

  • print self.a

    找不到實例變量,因此返回類變量
  • self.a = a

    *一個新的實例變量

    a

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

    self.a

    現(xiàn)在將引用實例變量;要訪問類變量,現(xiàn)在必須使用

    Test.a

  • 分配給

    self._x

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

    self.__y

    創(chuàng)建一個名為

    _Test__y

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

    b

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

    __init__

    函數(shù),因為它沒有保存在實例、類或全局范圍中。


查看完整回答
1 反對 回復 2019-07-17
?
慕田峪9158850

TA貢獻1794條經(jīng)驗 獲得超7個贊

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

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

這將按對象訪問._classname_Privatevaribalename

print(t._test__elements)

這將打印a‘的更改值。


查看完整回答
1 反對 回復 2019-07-17
?
弒天下

TA貢獻1818條經(jīng)驗 獲得超8個贊

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

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


查看完整回答
反對 回復 2019-07-17
  • 3 回答
  • 0 關(guān)注
  • 1057 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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