1. ホーム
  2. python

[解決済み] Nonetypeをintやstringに変換する方法は?

2022-09-13 14:46:44

質問

私は Nonetypex は、一般に数字ですが、次のようなこともありえます。 None . 私はそれを数字で割りたいのですが、Pythonが発生します。

TypeError: int() argument must be a string or a number, not 'NoneType'

これを解決するにはどうしたらよいでしょうか?

どのように解決するのですか?

コメントの中で、あなたはこう言っています。

なぜかNonetypeの値が出てきました。intのはずなのにNonetypeのオブジェクトになっています。

もしあなたのコードであれば、どのようにして None を期待したときに その が起こらないようにします。

他人のコードであれば、そのコードがどのような条件で None を与える条件を見つけ、通常の条件付きコードで、それに使うべき賢明な値を決定してください。

result = could_return_none(x)

if result is None:
    result = DEFAULT_VALUE

...あるいは...

if x == THING_THAT_RESULTS_IN_NONE:
    result = DEFAULT_VALUE
else:
    result = could_return_none(x) # But it won't return None, because we've restricted the domain.

を自動的に使用する理由はありません。 0 の虚偽性に依存する解決策です。 None は、あなたがこれを望むと仮定します。その DEFAULT_VALUE は(それが存在するとしても)完全にあなたのコードの目的に依存します。