2013-05-13 2 views
-3

특히 StringType을 NoneType으로 변경하고 싶습니다. int() 및 str() IntType 및 StringType간에 변환하는 방법을 알고 있지만 NoneType 비슷한 솔루션을 찾을 수 없습니다. int 및 str과 같은 내장 함수를 사용하는 것 외에 간단한 솔루션이 있습니까?파이썬에서 객체의 유형을 수정할 수 있습니까?

죄송합니다. 매우 불분명했습니다. 'print ("check")'문자열을 파이썬 셸에 입력하고 함수로 변환해야하는 프로그램이 있습니다. 나는 함수가 NoneType 타입을 가지고 있기 때문에 단순히 문자열을 NoneType으로 변환하는 것이 유용 할 것이라고 생각했다. 어떤 아이디어?

eval()이 내 목적에 완벽하게 작동합니다. Cairnarvon, 감사합니다!

+0

무엇이 유스 케이스인가? – karthikr

+3

어떻게 변수를'NoneType'으로 변환 할 수 있습니까? 단 하나의 '없음'- '안녕'을 '없음'으로 변환 한 것이 '작별'을 '없음'으로 변환 한 것과 다를 수 있습니다. –

+1

문자열 "None"을'None'으로 변환하려고하십니까? 그러면 ast.literal_eval()을보십시오. 그렇지 않으면 귀하의 질문을 명확히하십시오. –

답변

2

당신은 하찮게이 작업을 수행하는 함수를 직접 정의 할 수 있습니다. 필요할 때마다 리터럴 None을 사용하십시오. 당신이 심각하게 당신이 달성을 기대하고 무엇을 고려해야하지만


는 설명에 관해서는, 당신이 찾고있는 것은, 아마도 eval 또는 ast 모듈; eval은 특히 해결할 가능성이 많은 것보다 더 많은 문제를 만듭니다.

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 

변수를 없음으로 설정하려면 없음을 할당하면됩니다.

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

희망이 있습니다.

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

을하지만 꽤 무의미 :

관련 문제