前提・実現したいこと
そもそも書き方が違うということは承知の上で質問させていただきます。
以下がやりたいことになります。
①mainでlistを定義する
②listに追加したい値をsubに渡す
③mainから渡された値をmainのlistにsubで追加する
④mainでprint
実際にやりたいこととしてはmainでlistを10個以上用意し、subで条件に分けて10個のlistに割り振りたいと考えています。
そのたびにlistを10個subに渡すのはどうなんだろうかと考え、mainのlistに直接アクセスできないかということでこのような書き方をしています。
詳しい方ぜひ教えて下さい。
発生している問題・エラーメッセージ
Traceback (most recent call last): File "main.py", line 13, in <module> main() File "main.py", line 8, in main Sub.appends("test", "test2") File "・・・\sub.py", line 6, in appends main.list.append(x1) AttributeError: 'Main' object has no attribute 'list_x'
該当のソースコード
main
1from sub import Sub 2 3class Main(): 4 def __init__(self,list_x): 5 self.list_x = [] 6 7def main(): 8 Sub.appends("test", "test2") 9 print(self.list_x) 10 11if __name__ == '__main__': 12 Sub = Sub() 13 main()
sub
1from main import Main 2 3class Sub(): 4 def appends(self, x1, x2): 5 main = Main() 6 main.list.append(x1) 7 main.list.append(x2)
環境
Python 3.8.5
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/06 08:24
2020/08/06 08:34
2020/08/06 08:47
2020/08/06 08:49
2020/08/06 09:10
2020/08/06 09:57 編集
2020/08/06 09:46