猿问

我们可以在python中使用点表示法访问类方法变量吗

下面是代码


import os


class 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 变量。有没有办法通过使用全局或其他东西来实现这一点


潇潇雨雨
浏览 115回答 3
3回答

慕森王

从类方法访问变量是不可能的,您必须在类级别设置变量,如下所示:import osclass 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 链接到同一行中。

慕田峪4524236

我认为这会奏效。在初始化(个体经营)表现得像其他语言的构造函数。所以实际上我正在一个类中构建一个类,以使您的最后一行正常工作。但就像其他人建议的那样,这不是 Python 应该使用的方式。import osclass 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)
随时随地看视频慕课网APP

相关分类

Python
我要回答