2009-09-10 5 views
1

나는 다음과 같은 기능이 있습니다Python : NonType 변수를 String으로 변환하려면 어떻게해야합니까?

>>> def rule(x): 
...  rule = bin(x)[2:].zfill(8) 
...  rule = str(rule) 
...  print rule 

내가 문자열로 규칙을 변환하려고하지만, 나는 다음과 같은 명령을 실행할 때, 여기에 내가 무엇을 얻을 오전 :

>>> type(rule(20)) 
00010100 
<type 'NoneType'> 

가 NoneType 무엇입니까 변수 및 어떻게이 변수를 문자열로 변환 할 수 있습니까?

덕분에,

답변

5

당신은 할 필요가 :

def rule(x): 
    return bin(x)[2:].zfill(8) 

모든 기능은 None을 반환 암시 적으로 (이 사건에서와 같이) 더 return 문이 함수의 실행 중 발생되지 않은 경우.

1

규칙 기능이 아무 것도 반환하지 않고 인쇄 만합니다. 따라서 규칙 (20)은 None을 나타내는 파이썬 객체를 반환합니다. 당신은 적어도 당신이 기대하는 방식대로 그것을 문자열로 바꿀 수 없습니다.

는이 같은 뭔가를 반환하는 규칙을 정의해야합니다

>>> def rule(x): 
... rule=bin(x)[2:].zfill(8) 
... rule=str(rule) 
... return rule 

은 그 다음 문자열 객체를 반환합니다.

관련 문제