pythonのスコープについて教えていただきたいのですが、下記のソースコードにおいて、関数内でcを使う際にglobalを宣言しなくても使える理由は何でしょうか?
cは関数外で生成したCanvasのオブジェクトなので、関数draw内で使用するためにはglobalを付けないと使えないと思うのですが、使えています。
クラスのオブジェクトならば、スコープは関係ないのでしょうか?
よろしくお願いいたします。
該当のソースコード
python
1import tkinter as tk 2 3def draw(): 4 c.create_oval(30, 10, 70, 50, fill='white') 5 6win = tk.Tk() 7c = tk.Canvas(win, bg='blue') 8c.place(x=0, y=0) 9draw() 10 11win.mainloop()
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/19 05:59