乡镇信息公开网站建设制度网站开发相关专业
乡镇信息公开网站建设制度,网站开发相关专业,做篮球网站用的背景图片,做好门户网站建设最近在做python的web开发(原谅我的多变#xff0c;好东西总想都学着。。。node.js也是)#xff0c;不过过程中总遇到些问题#xff0c;不管是web.py还是django#xff0c;开发起来确实没用php方便#xff0c;毕竟存在的时间比较短#xff0c;很多不完善的地方。比如我在调…最近在做python的web开发(原谅我的多变好东西总想都学着。。。node.js也是)不过过程中总遇到些问题不管是web.py还是django开发起来确实没用php方便毕竟存在的时间比较短很多不完善的地方。比如我在调试php中最常用的函数var_dump在python里找不到合适的替代函数。php中var_dump是一个特别有用的函数它可以输出任何变量的值不管你是一个对象还是一个数组或者只是一个数。它总能用友好的方式输出我调试的时候经常会需要看某位置的变量信息调用它就很方便但是开发python的时候就没有太好的替代方案。之前想到repr但这个函数只是调用了对象中的__str__和直接print obj没啥区别。print是打印它而repr是将其作为值返回。如果对象所属的类没有定义__str__这个函数那么返回的就会是难看的一串字符。后来又想到了vars 函数vars函数是python的内建函数专门用来输出一个对象的内部信息。但这个对象所属的类中必须有__dict__函数。一般的类都有这个dict但像[]和{}等对象就不存在这个dict这样调用vars函数就会抛出一个异常Traceback (most recent call last):File , line 1, in TypeError: vars() argument must have __dict__ attribute所以后来几经寻找找到一个个比较好功能能够与var_dump类似的函数如下def dump(obj):return a printable representation of an object for debuggingnewobjobjif __dict__ in dir(obj):newobjobj.__dict__if object at in str(obj) and not newobj.has_key(__type__):newobj[__type__]str(obj)for attr in newobj:newobj[attr]dump(newobj[attr])return newobj这是使用方式class stdClass(object): passobjstdClass()obj.int1obj.tup(1,2,3,4)obj.dict{a:1,b:2, c:3, more:{z:26,y:25}}obj.list[1,2,3,a,b,c,[1,2,3,4]]obj.subObjstdClass()obj.subObj.valuefoobarfrom pprint import pprintpprint(dump(obj))最后输出是{__type__: __main__.stdclass object at,dict: {a: 1, c: 3, b: 2, more: {y: 25, z: 26}},int: 1,list: [1, 2, 3, a, b, c, [1, 2, 3, 4]],subObj: {__type__: __main__.stdclass object at,value: foobar},tup: (1, 2, 3, 4)}然后github有个开源的module可以参考https://github.com/sha256/python-var-dump说一下pprint这个函数他是一个人性化输出的函数会将要输出的内容用程序员喜欢的方式输出在屏幕上。参阅这篇文章比较好理解//www.zyiz.net/article/60143.htm
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91962.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!