[解決済み] Pylint の無効な定数名
2022-02-08 06:36:44
質問
定数に関してPylintエラーが発生します。
MIN_SOIL_PARTICLE_DENS
(無効な名前)です。
なぜこの定数が間違っているのか、何か心当たりはありませんか?以下は私の関数全体です。
def bulk_density(clay, sand, organic_matter):
MIN_SOIL_PARTICLE_DENS = 2.65
x1 = (0.078 + 0.278 * sand + 0.034 * clay + 0.022 * organic_matter - 0.018
* sand * organic_matter - 0.027 * clay * organic_matter - 0.584 * sand
* clay)
x2 = -0.107 + 1.636 * x1
field_capacity = vol_water_content_33_j_kg(clay, sand, organic_matter)#m3/m3
sat_water_content = 0.043 + field_capacity + x2 - 0.097 * sand
return (1 - sat_water_content) * MIN_SOIL_PARTICLE_DENS
解決方法は?
名前をチェックするとき、Pylintは定数、変数、クラスなどを区別しています。関数やクラスの中にない名前は定数とみなされ、それ以外のものは変数となります。
参照 http://docs.pylint.org/features.html#basic-checker
variable-rgxです。
[a-z_][a-z0-9_]{2,30}$
const-rgxです。
(([A-Z_][A-Z0-9_]*)|(__.*__))$
だって、関数の中にいるんだもん。
MIN_SOIL_PARTICLE_DENS
は(pylintによれば)変数のはずですが、pylintはこれを定数として扱うため、文句を言われます。
これは、pylintから文句を言われないように、関数内に大文字の名前を持つことができないことを意味します。
すべての定数が必ずしもグローバルに定義されているわけではありません。
関連
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み】「SyntaxError.Syntax」は何ですか?Missing parentheses in call to 'print'」はPythonでどういう意味ですか?
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)
-
[解決済み] モジュールの関数名(文字列)を使って、モジュールの関数を呼び出す。
-
[解決済み] インスタンスのクラス名を取得する?
-
[解決済み] オブジェクト名の前のシングルアンダーコアとダブルアンダーコアの意味は何ですか?
-
[解決済み] Pythonで定数を作成するにはどうすればよいですか?
-
[解決済み] os/path 形式に関係なく、パスからファイル名を抽出します。
-
[解決済み] Pylintの警告を無効にするにはどうしたらいいですか?
-
[解決済み】PyLintメッセージ:logging-format-interpolation
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonによるjieba分割ライブラリ
-
Pythonの学習とデータマイニングのために知っておくべきターミナルコマンドのトップ10
-
Python LeNetネットワークの説明とpytorchでの実装
-
Pythonの@decoratorsについてまとめてみました。
-
[解決済み】「RuntimeError: dictionary changed size during iteration」エラーを回避する方法とは?
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み】終了コード -1073741515 (0xC0000135)でプロセス終了)
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み】Python Error: "ValueError: need more than 1 value to unpack" (バリューエラー:解凍に1つ以上の値が必要です