日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

python中dump函数_python中实现php的var_dump函数功能

發(fā)布時(shí)間:2023/12/13 php 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中dump函数_python中实现php的var_dump函数功能 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近在做python的web開發(fā)(原諒我的多變,好東西總想都學(xué)著。。。node.js也是),不過過程中總遇到些問題,不管是web.py還是django,開發(fā)起來確實(shí)沒用php方便,畢竟存在的時(shí)間比較短,很多不完善的地方。

比如我在調(diào)試php中最常用的函數(shù),var_dump,在python里找不到合適的替代函數(shù)。php中var_dump是一個(gè)特別有用的函數(shù),它可以輸出任何變量的值,不管你是一個(gè)對象還是一個(gè)數(shù)組,或者只是一個(gè)數(shù)。它總能用友好的方式輸出,我調(diào)試的時(shí)候經(jīng)常會需要看某位置的變量信息,調(diào)用它就很方便:

但是開發(fā)python的時(shí)候就沒有太好的替代方案。

之前想到repr,但這個(gè)函數(shù)只是調(diào)用了對象中的__str__,和直接print obj沒啥區(qū)別。print是打印它,而repr是將其作為值返回。如果對象所屬的類沒有定義__str__這個(gè)函數(shù),那么返回的就會是難看的一串字符。

后來又想到了vars 函數(shù),vars函數(shù)是python的內(nèi)建函數(shù),專門用來輸出一個(gè)對象的內(nèi)部信息。但這個(gè)對象所屬的類中必須有__dict__函數(shù)。一般的類都有這個(gè)dict,但像[]和{}等對象就不存在這個(gè)dict,這樣調(diào)用vars函數(shù)就會拋出一個(gè)異常:

Traceback (most recent call last):

File "", line 1, in

TypeError: vars() argument must have __dict__ attribute

所以后來幾經(jīng)尋找,找到一個(gè)個(gè)比較好,功能能夠與var_dump類似的函數(shù)如下:

def dump(obj):

'''return a printable representation of an object for debugging'''

newobj=obj

if '__dict__' in dir(obj):

newobj=obj.__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): pass

obj=stdClass()

obj.int=1

obj.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.subObj=stdClass()

obj.subObj.value='foobar'

from pprint import pprint

pprint(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有個(gè)開源的module,可以參考:https://github.com/sha256/python-var-dump

說一下pprint這個(gè)函數(shù),他是一個(gè)人性化輸出的函數(shù),會將要輸出的內(nèi)容用程序員喜歡的方式輸出在屏幕上。參閱這篇文章比較好理解://www.zyiz.net/article/60143.htm

總結(jié)

以上是生活随笔為你收集整理的python中dump函数_python中实现php的var_dump函数功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: h在线网站| 同性色老头性xxxx老头 | 国产精品视频第一页 | 成人首页| 男男play呻吟动漫网站 | 18禁一区二区三区 | 日韩欧美操 | 午夜av一区 | 久久久久久久国产视频 | 欧美成人性生活视频 | 成人午夜网站 | 女生扒开腿让男生操 | av每日更新在线观看 | 欧美精品一级二级三级 | 亚洲综合丁香 | japanese在线观看| 亚洲a黄 | 天天躁日日躁狠狠躁喷水 | 波多野结衣a v在线 欧洲免费av | 六月丁香婷婷综合 | 亚洲综合自拍偷拍 | 挪威xxxx性hd极品 | 涩涩视频在线观看 | 五月婷婷影院 | 日本电影成人 | 啪啪av网 | 四虎伊人| 春闺艳妇(h)高h产乳 | 女女同性女同一区二区三区九色 | 日韩色 | www.天天综合 | 中文字幕在线播放一区二区 | 欧美人与动物xxxx | 韩国一级淫片免费看 | 少妇被躁爽到高潮无码人狍大战 | 国产精品男女视频 | 一本到在线观看 | 欧美精品第一页 | 已满十八岁免费观看 | 欧美生活一级片 | 国产精品久久久久久久免费观看 | 久久泄欲网 | 精品人妻一区二区三区四区在线 | 国产区网址 | 欧美三级色图 | 免费在线黄色网 | 亚洲精品国产精品乱码在线观看 | 亚洲精品国产精品国自产网站按摩 | 久久国产精品首页 | 国产主播精品在线 | 亚洲欧美强伦一区二区 | 亚洲午夜久久久 | 欧美精品久久久久久久久 | 丰满人妻一区二区三区免费视频 | 日韩少妇内射免费播放18禁裸乳 | 成人软件在线观看 | 婷婷成人av | 西野翔之公侵犯中文字幕 | 97精品视频在线观看 | 国产区一区二区三区 | 日本wwww视频 | 欧美成人免费在线观看 | 午夜影院色 | 香蕉视频免费网站 | 午夜精品久久久久久久99热黄桃 | 五月婷婷影院 | 爱爱15p | 青青操免费在线视频 | 黄色大片在线播放 | 精品国产网站 | 国产精品一区二三区 | 国产亚洲久一区二区 | 亚洲高清色 | 无码成人精品区在线观看 | 97高清国语自产拍 | 性感美女视频一二三 | 天天干天天摸天天操 | xx视频在线观看 | 亚洲成人精品一区二区三区 | 伊人久综合 | 四虎精品在线观看 | 欧美精品综合 | 日本系列第一页 | 日本中文字幕高清 | 韩国一区视频 | 欧美绿帽合集videosex | 97免费在线观看视频 | 亚洲色图偷 | 奇米影视一区 | 极品av在线| 久久久久一区二区三区四区 | 欧美被狂躁喷白浆精品 | 无码无遮挡又大又爽又黄的视频 | 日韩簧片在线观看 | 国产一级影院 | 日本在线色 | 精品视频在线观看一区 | 伊人久久天堂 | 伊人久久五月 |