-3

具体的には、StringType を NoneType に変更したいと考えています。int() と str() を使用して IntType と StringType を変換する方法は知っていますが、NoneType の同様の解決策が見つかりません。int や str などの組み込み関数を使用する以外に、より簡単な解決策はありますか?

非常にあいまいで申し訳ありません。文字列 'print("check")' を Python シェルに入力するプログラムがあり、それを関数に変換する必要があります。関数には NoneType 型があるため、文字列を NoneType に変換するだけで使用できるようになると思いました。何か案は?

eval() は私の目的のために完全に機能します ケナーボン、ありがとう!

4

2 に答える 2

3

変数を削除したい場合は、それを削除してください。

>>> a = 10
>>> print a
10
>>> del a
>>> print a
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined

変数を None にしたい場合は、 None を割り当ててください。

>>> a = 10
>>> print a
10
>>> type(a)
<type 'int'>
>>> a = None
>>> print a
None
>>> type(a)
<type 'NoneType'>

お役に立てれば。

于 2013-05-13T00:25:12.823 に答える
2

これを行うために、独自の関数を簡単に定義できます。

def none(*args):
    """Converts any arguments to None."""
    return None

しかし、それはかなり無意味です。None必要なときはいつでもリテラルを使用してください。


明確にするために、探しているのはおそらくevalまたはastモジュールですが、達成したいことを真剣に検討する必要があります。eval、特に、解決する可能性が高いよりも多くの問題を作成します。

于 2013-05-13T00:25:29.863 に答える