python noneType可以打印出值,但是转成str就是值就是none

框架是web.py
mediaId = str(myMedia.uplaod(accessToken, filePath, mediaType))
print mediaId
mediaId是可以打印出值的
{"type":"image","media_id":"HRSL-bKctf9LWGgZ1cqyYbTRj6G8g4lI0CmOBSN5V8gVG1Q5B_Dwb-l5kzqWs-FK","created_at":1508118169}

print type(mediaId)是noneType
print str(mediaId)值就是none了

请问这是怎么回事呢? 而且如果才能把media的值转换为str???

阅读 9k
1 个回答

Python里的None本来就是这样的。你的结果恰恰说明mediaId是None,需要检查一下这个值的获取是否失败了。

>>> print type(None)
<type 'NoneType'>
>>> print str(None)
None

你想转换成str,就需要实现对应实例的类的__str__方法,这样在你print这个实例的时候,就会自动调用__str__方法。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题