亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

我們可以在python中使用點表示法訪問類方法變量嗎

我們可以在python中使用點表示法訪問類方法變量嗎

瀟瀟雨雨 2021-06-03 22:43:54
下面是代碼import osclass ABC:    def test(self,name):        var = 5        var2 = 10        dic = {"Ada": "adada"}        print "asdfdsadv"        var1 = "Ada"        var2 = "asada"obj = ABC()print obj.test("Ada").var1我正在尋找這樣的東西。我可以在 python 中實現這個嗎我知道這是局部到類的 var 變量。有沒有辦法通過使用全局或其他東西來實現這一點
查看完整描述

3 回答

?
慕森王

TA貢獻1777條經驗 獲得超3個贊

從類方法訪問變量是不可能的,您必須在類級別設置變量,如下所示:


import os


class ABC:

    def test(self,name):

        var = 5

        var2 = 10

        dic = {"Ada": "adada"}

        print "asdfdsadv"

        self.var1 = "Ada"

        var2 = "asada"


obj = ABC()

obj.test('Ada')

print obj.var1

您可以通過將 self 返回到您的測試方法中,將 obj.test('Ada').var1 鏈接到同一行中。


查看完整回答
反對 回復 2021-06-09
?
慕田峪4524236

TA貢獻1875條經驗 獲得超5個贊

我認為這會奏效。在初始化(個體經營)表現得像其他語言的構造函數。所以實際上我正在一個類中構建一個類,以使您的最后一行正常工作。但就像其他人建議的那樣,這不是 Python 應該使用的方式。


import os


class ABC(object):

    def __init__(self):

        pass


    class test(object):

        def __init__(self,name):

            self.var = 5

            self.var2 = 10

            self.dic = {"Ada": "adada"}

            print ("asdfdsadv")

            self.var1 = "Ada"

            self.var2 = "asada"


if __name__ == "__main__":

    obj = ABC()

    print (obj.test("Ada").var1)


查看完整回答
反對 回復 2021-06-09
  • 3 回答
  • 0 關注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號