老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

Python中怎么對齊打印對象屬性

Python中怎么對齊打印對象屬性,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

目前創新互聯公司已為上千家的企業提供了網站建設、域名、網站空間、網站托管維護、企業網站設計、龍城網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。

對齊打印對象屬性

print 輸出對象 dict 全擠在一行,很難看。因此希望輸出類似 json 對齊的方式。

基本的思想是轉成 json 格式再輸出。隨便一搜,找到如下代碼,普通情況下可用:

def obj_to_json():
    stu = Student(28, 'male', '13000000000', '123@qq.com')
    print(type(stu))  # 
    print(stu)
    stu = stu.__dict__  # 將對象轉成dict字典
    print(type(stu))  # 
    print(stu)
    j = json.dumps(obj=stu, indent=4)
    print(j)

但有些對象中會包含一些特殊屬性,如另外一個對象,則用此法會報錯:

TypeError: Object of type xxx is not JSON serializable

其實就是 JSON 不支持這種對象。我們可以自定義處理特殊對象的方法,完整代碼如下:

# encoding:utf-8
# author: over

import json
from datetime import datetime, date

class Student(object):
    def __init__(self, age, sex, mobile, date):
            self.age = age
            self.sex = sex
            self.mobile = mobile
            self.date = date

# 擴展 json 無法解析的類型
class ComplexEncoder(json.JSONEncoder):
    def default(self, obj):
        if isinstance(obj, datetime):
            # return obj.strftime('%Y-%m-%d %H:%M:%S')
            return str(obj)
        elif isinstance(obj, date):
            # return obj.strftime('%Y-%m-%d')
            return str(obj)
        else:
            try:
                return json.JSONEncoder.default(self, obj)
            except Exception as e:
                print('type not support: '+str(obj))
                # 默認的處理不了直接強轉字符串
                return str(obj)

# json 對齊方式輸出對象所有屬性,方便查看
def printJson(obj):
    if hasattr(obj,'__dict__'):
        obj = obj.__dict__

    # ensure_ascii=False 中文不變成百分符
    # indent 縮進行增加的空格數
    j = json.dumps(obj, cls=ComplexEncoder, ensure_ascii=False, indent=4)
    print(j)

if __name__ == '__main__':
    stu = Student(28, 'male', '13000000000', datetime.now())
    printJson(stu)

輸出:

{
    "age": 28,
    "sex": "male",
    "mobile": "13000000000",
    "date": "2019-07-07 14:43:51.466416"
}

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創新互聯行業資訊頻道,感謝您對創新互聯的支持。


文章名稱:Python中怎么對齊打印對象屬性
標題URL:http://www.xueling.net.cn/article/jippdh.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 噜噜噜在线观看免费视频日本 | 国产91亚洲精品 | 嫩草欧美 | 91精品国产高清一区二区三区蜜臀 | 成年人av网站 | 成人一级免费视频 | 91免费影片 | 成人AV综合在线网站 | 国产看黄网站又黄又爽又色 | 日韩精品无码久久久久久 | 日本一级吃奶淫片免费 | 亚洲国产精品一区二区第四页 | 豪放女大兵在线播放 | 三年成全免费观看国语高清 | 久久精品牌麻豆国产大山 | 精品福利一区二区三区免费视频 | 亚洲国产欧美国产综合久久 | 久色国产 | 亚洲色精品三区二区一区 | 日韩入口 | 日本不卡在线一区二区三区视频 | 国产成人A人亚洲精V品无码 | 色噜噜狠狠成人中文综合 | 大地资源网高清在线播放 | 国产乱码精品一区二区三区爽爽爽 | 美女裸身裸乳视频网站 | 一色桃子av一区二区 | 欧美日韩人成视频在线播放 | 午夜久久久久久久 | 成人性生交大片看1 | 国产一级持黄大片99久久 | 欧美日韩一区 | 乳尖乱颤娇喘连连A片在线观看 | 国产精品久久久久久久久鸭无码 | 久久久久久久久久穴 | 岛国一级毛片 | 高h视频在线播放 | 又爽又黄又无遮挡的激情视频免费 | 老司机免费 | 亚洲一区二区在线免费 | 6699嫩草久久久精品影院 |