我可以在python中修改对象的类型吗?

时间:2013-05-13 00:20:30

标签: python object types

具体来说我想将StringType更改为NoneType。我知道如何使用int()和str() 在IntType和StringType之间转换,但我找不到类似的NoneType解决方案。除了使用像int和str这样的内置函数之外,还有一个更简单的解决方案吗?

很抱歉这是非常模棱两可的,我有一个程序将字符串'print(“check”)'输入到python shell中,我需要将它转换为函数。我假设因为函数具有NoneType类型,只需将字符串转换为NoneType就可以使它可用。有什么想法吗?

eval()非常适合我的目的Cairnarvon,谢谢!

2 个答案:

答案 0 :(得分: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'>

希望这有帮助。

答案 1 :(得分:2)

您可以轻松定义自己的功能来执行此操作:

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

但那是毫无意义的。只要您需要文字None即可。


至于您的澄清,您正在寻找的内容可能是evalast模块,但您应该认真考虑您希望完成的内容;特别是eval会给你带来比你可能解决的更多问题。