2013-05-13 67 views
-3

具體而言,我想將StringType更改爲NoneType。我知道如何使用int()和str() 在IntType和StringType之間進行轉換,但我找不到類似的解決方案。除了使用諸如int和str之類的內置函數之外,還有更簡單的解決方案嗎?我可以修改python中的對象類型嗎?

對不起,這是非常模糊的,我有一個程序,輸入字符串'打印(「檢查」)'到python外殼,我需要它轉換爲一個函數。我認爲,因爲函數的類型爲NoneType,只是將字符串轉換爲NoneType將使其可用。有任何想法嗎?

eval()完美適用於我的目的Cairnarvon,謝謝!

+0

什麼是用例? – karthikr 2013-05-13 00:21:16

+3

如何將一個變量轉換爲'NoneType'?只有一個'None' - 它不像是「hello」轉換爲'None'與將「goodbye」轉換爲'None'不同。 – 2013-05-13 00:21:40

+1

您是否正在將字符串'「None」轉換爲'None'?那麼請看一下'ast.literal_eval()'。否則,澄清你的問題。 – 2013-05-13 00:23:50

回答

2

你可以平凡定義自己的函數來做到這一點:

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

但是,這是很沒有意義的。只要你需要一個文字None


至於你澄清,你要找的東西可能是evalast模塊,但應認真考慮你希望實現的目標;特別是,它會給你帶來更多的問題,而不是它可能解決的問題。

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'> 

希望這會有所幫助。

相關問題