1. ホーム
  2. python

[解決済み] AttributeError: 'tuple' オブジェクトは属性を持ちません。

2022-01-28 03:18:40

質問

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'

解決方法は?

4つの変数s1,s2,s3,s4を返し、1つの変数を使ってそれらを受け取る。 obj . これは、いわゆる tuple , obj の値は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!"