-1

私は次のクラスを持っています:

class Login():
    #PROMPT THE OPERATOR TO LOGIN
    def login(self):
        self.usr = input("usr> ")
        self.pwd = getpass.getpass("pwd> ")
        self.check_login()

私もこのクラスを持っています:

class Kernel(Login):
    #THIS IS WHERE THE OPERATOR CAN ENTER STUFF AND SHIT.
    def kernel(self):
        obj = Login()
        kernel_input = input(obj.login.self.usr + "@" + OS_NAME.lower() + ">")

ただし、クラスLoginから変数self.usrを取得して、クラスLoginの子であるクラスKernelで動作する方法がわかりません。

ご覧のとおり、Login() オブジェクトを作成し、変数objに格納しました。Login クラスには、usrという自己変数を保持するloginというメソッドがあります。

次を使用して別のクラスで呼び出してみました:

obj.usr
obj.self.usr
obj.login.usr
obj.login.self.usr

しかし、どれも機能しません。どうすればこれを機能させることができますか?

4

3 に答える 3

-1

グローバルに定義された辞書を作成します。元:

mydict = dict()
class Login():
    #PROMPT THE OPERATOR TO LOGIN
    def login(self):
        self.usr = input("usr> ")
        self.pwd = getpass.getpass("pwd> ")
        mydict.update({'password':self.pwd, 'user': self.usr})
        self.check_login()

class Kernel(Login):
    #THIS IS WHERE THE OPERATOR CAN ENTER STUFF AND SHIT.
    def kernel(self):
        kernel_input = input(mydict['user'] + "@" + OS_NAME.lower() + ">")
于 2013-09-08T22:38:00.237 に答える