AttributeError:“元组”对象没有属性

新手上路,请多包涵

我是 python 的初学者。我不明白问题出在哪里?

 def list_benefits():

        s1 = "More organized code"
        s2 = "More readable code"
        s3 = "Easier code reuse"
        s4 = "Allowing programmers to share and connect code together"
        return s1,s2,s3,s4

def build_sentence():

        obj=list_benefits()
        print obj.s1 + " is a benefit of functions!"
        print obj.s2 + " is a benefit of functions!"
        print obj.s3 + " is a benefit of functions!"

print build_sentence()

我得到的错误是:

 Traceback (most recent call last):
   Line 15, in <module>
   print build_sentence()
   Line 11, in build_sentence
   print obj.s1 + " is a benefit of functions!"
AttributeError: 'tuple' object has no attribute 's1'

原文由 Alok 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 390
2 个回答

您返回四个变量 s1、s2、s3、s4 并使用单个变量 obj 接收它们。这就是所谓的 tupleobj 与 4 个值相关联,即 s1,s2,s3,s4 的值。因此,像在列表中使用的那样使用索引来按顺序获取所需的值。

 obj=list_benefits()
print obj[0] + " is a benefit of functions!"
print obj[1] + " is a benefit of functions!"
print obj[2] + " is a benefit of functions!"
print obj[3] + " is a benefit of functions!"

原文由 Aswin Murugesh 发布,翻译遵循 CC BY-SA 4.0 许可协议

您返回的是 tuple 。索引它。

 obj=list_benefits()
print obj[0] + " is a benefit of functions!"
print obj[1] + " is a benefit of functions!"
print obj[2] + " is a benefit of functions!"

原文由 Ignacio Vazquez-Abrams 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题