def文中のグローバル変数を一気に見つける方法はありますでしょうか?
自分で意識してグローバル変数を使うときには大文字にしているのですが、たまにミスでグローバル空間の変数名を関数内で使ってしまうことがあります。今のことろ不具合は発生しないのですが、意図しないグローバル変数はバグになりそうな予感がするので、一気に見つけてつぶす方法があれば、と思いました。
PyCharmの場合、外側のスコープの変数と重複した命名をすると警告を吐いたと思いますが。
実際に被らせてみるとどうなります?
ありがとうございます!出てきました。ニョロニョロ下線部をきちんと使いこなしていませんでした。遅くなりましたがありがとうございます。
今気付いたのですが、関数内で命名すると警告を吐きますが、関数内で定義せずにスコープ外の変数を使用してもニョロニョロは出ないですね。そのため、スクリプト内の関数をモジュール化しようとすると、エラーが出てます。他の方の回答の参考にして対応します。
グローバル変数(Pythonではイコールモジュール変数)を関数内から参照することはそんなに忌避されることでも無いので、警告は出ないでしょうね。
import numpy なんてやったらモジュール変数numpyができるわけですし。組み込み関数もグローバル辞書から取り出して使っています。
乱暴なやり方ですけど、関数外のコードをいったんコメントアウトしてしまうのが一番早い気がします。
回答2件
あなたの回答
tips
プレビュー