[D]python type() 函数问题

zz8880 2012-04-10 02:40:47
我怎么把一个变量的类型写入文件?
a = 3
type(a)
貌似返回的是type类型,不能打印,也不能用文件的write怎么半,或者怎么转换成srt之类的?
------------
Double行动:
原帖分数:40
加分:40
...全文
136 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
libralibra 2012-04-20
  • 打赏
  • 举报
回复
用__dict__打印所有内置属性,找到你需要的__name__后print出来就行了
>>> ================================ RESTART ================================
>>> for k,v in type.__dict__.items():
print k,v


__module__ <attribute '__module__' of 'type' objects>
__abstractmethods__ <attribute '__abstractmethods__' of 'type' objects>
__getattribute__ <slot wrapper '__getattribute__' of 'type' objects>
__weakrefoffset__ <member '__weakrefoffset__' of 'type' objects>
__dict__ <attribute '__dict__' of 'type' objects>
__lt__ <slot wrapper '__lt__' of 'type' objects>
__init__ <slot wrapper '__init__' of 'type' objects>
__setattr__ <slot wrapper '__setattr__' of 'type' objects>
__subclasses__ <method '__subclasses__' of 'type' objects>
__new__ <built-in method __new__ of type object at 0x1E1D4498>
__base__ <member '__base__' of 'type' objects>
__mro__ <member '__mro__' of 'type' objects>
mro <method 'mro' of 'type' objects>
__dictoffset__ <member '__dictoffset__' of 'type' objects>
__call__ <slot wrapper '__call__' of 'type' objects>
__itemsize__ <member '__itemsize__' of 'type' objects>
__ne__ <slot wrapper '__ne__' of 'type' objects>
__instancecheck__ <method '__instancecheck__' of 'type' objects>
__subclasscheck__ <method '__subclasscheck__' of 'type' objects>
__gt__ <slot wrapper '__gt__' of 'type' objects>
__name__ <attribute '__name__' of 'type' objects>
__eq__ <slot wrapper '__eq__' of 'type' objects>
__basicsize__ <member '__basicsize__' of 'type' objects>
__bases__ <attribute '__bases__' of 'type' objects>
__flags__ <member '__flags__' of 'type' objects>
__doc__ <attribute '__doc__' of 'type' objects>
__delattr__ <slot wrapper '__delattr__' of 'type' objects>
__le__ <slot wrapper '__le__' of 'type' objects>
__repr__ <slot wrapper '__repr__' of 'type' objects>
__hash__ <slot wrapper '__hash__' of 'type' objects>
__ge__ <slot wrapper '__ge__' of 'type' objects>
>>> type(3).__name__
'int'
>>>
老牛同学 2012-04-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

转字串表示,一般通用就是repr(),或者type类型有个__name__属性:
>>> repr(type(3))
"<class 'int'>"
>>> type(3).__name__
'int'
>>>

如果你是要保存数据,试试pickle模块,可免去这些琐碎的解析...
[/Quote]
正解!
JoeBlackzqq 2012-04-10
  • 打赏
  • 举报
回复
print(type(a))
angel_su 2012-04-10
  • 打赏
  • 举报
回复
转字串表示,一般通用就是repr(),或者type类型有个__name__属性:
>>> repr(type(3))
"<class 'int'>"
>>> type(3).__name__
'int'
>>>

如果你是要保存数据,试试pickle模块,可免去这些琐碎的解析...

37,741

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧