从另一个函数已获取的值中获取`input`

2024-04-23 23:44:43 发布

您现在位置:Python中文网/ 问答频道 /正文

如何从Python中的另一个函数(input)获取值?你知道吗

class MyClass(object):
    def xxx(self):
        self.a = int(input("enter a value :"))
    def yyy(self):
        self.xxx()
        print (self.a)

obj = MyClass()
n = int(input("choose a number : "))

if (n == 1):
    obj.xxx()
elif (n == 2):
    obj.yyy()
else:
    print ("error")

问题是,当我选择数字2时,它要求我再次输入值。但是我想从第一个函数得到第一个值。你知道吗

所以当我键入1时,程序应该要求输入一个值,然后当我键入2时,程序应该只显示我的值。你知道吗

我不明白为什么它总是要求一个值。我做错什么了?你知道吗

注意:当我从yyy中删除这一行时

self.xxx()

我看到了这个错误

'MyClass' object has no attribute 'a'

Tags: 函数self程序objinput键入objectdef
1条回答
网友
1楼 · 发布于 2024-04-23 23:44:43

您需要实例化xxx函数的值,并且必须从self.a返回值

class MyClass(object):
def xxx(self):
    self.a = int(input("entre a value :"))
    return self.a
def yyy(self):
    xxx_func = self.xxx()
    print (xxx_func)

obj = MyClass()
n = int(input("choose a number : "))
if (n == 1) :
    obj.xxx()
elif (n == 2):
    print(n)
else:
    print ("error")

如果您在使用class语句时有疑问或任何问题,请查看官方python文档中的此链接。你知道吗

9. Classes — Python 3.7.2 documentationPython 3

9. Classes — Python 2.7.16 documentationPython 2

相关问题 更多 >