如何将实例变量用于另一个类到Python中的其他文件中

时间:2018-05-17 20:16:47

标签: python-3.x class

请不要贬低。这是提出问题的最后机会。 我有file1:

class One:
    def __init__(self):
        pass
    def getData(self):
        username = input("Enter username:")
        pin_code = input("Enter PIN code:")

我想将变量usernamepin_code用于其他类甚至其他文件(i,e file2)

class Two:
    def __init__(self):
        pass
    def dataFromOtherFile(self):
        print("username and pin code in file1 was",username , pin)

1 个答案:

答案 0 :(得分:1)

您的问题是他们现在不是实例变量;它们只是实例方法的局部变量。

class One:
    def getData(self):
        self.username = input("Enter username: ")
        self.pin_code = input("Enter PIN code: ")

class Two:
    def dataFromOtherFile(self, obj):
        print("username and pin code in file1 was", obj.username, obj.pin_code)

one = One()
one.getData()

Two().dataFromOtherFile(one)
然而,这并不是完美的程序设计。这两个类都没有做类应该做的事情,即封装数据并提供 on 数据的方法。你只需要将两个功能打扮成方法。例如:

def get_data():
    username = input("Enter username: ")
    pin_code = input("Enter PIN code: ")
    return username, pin_code

def data_from_other_file(data):
    print("username and pin code in file1 was", *data)

data_from_other_file(get_data())