最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python 使用建議與技巧分享(四)

 更新時間:2020年08月18日 09:15:43   作者:songleo  
這篇文章主要介紹了python的一些使用建議與技巧分享,幫助大家更好的理解和學習python,感興趣的朋友可以了解下

這是一個系列文章,主要分享python的使用建議和技巧,每次分享3點,希望你能有所收獲。

1 如何打印更易讀的類

不推薦方式

class Point(object):
  def __init__(self, x, y):
    self.x = x
    self.y = y


p = Point(3, 4)

print p
# <__main__.Point object at 0x0000000001E1B9E8>

推薦方式

class Point(object):
  def __init__(self, x, y):
    self.x = x
    self.y = y

  def __repr__(self):
    return 'Point({self.x}, {self.y})'.format(self=self)


p = Point(3, 4)

print p
# Point(3, 4)

前一種方式打印的類不易讀,不能獲取更多的信息。通過類的__repr__方法可以將類打印得更易讀?;蛘卟欢x__repr__方法,直接使用下面方式打?。?/p>

print p.__dict__
# {'y': 4, 'x': 3}

使用__dict__方法,將類以字典形式打印出來,也比較易讀。

2 如何將類打印成json字符串

import json


class User(object):
  def __init__(self, name, id):
    self.name = name
    self.id = id


u = User('user1', 1)
print json.dumps(u.__dict__, indent=4)

'''
{
  "name": "user1",
  "id": 1
}
'''

通過json模塊的dumps方法,可以輕易將類打印成json字符串。

3 如何排序類列表

class User:
  def __init__(self, name, key):
    self.name = name
    self.key = key

  def __repr__(self):
    return 'User({self.name}, {self.key})'.format(self=self)


user_list = [
  User('user1', 3),
  User('user2', 2),
  User('user3', 1),
]

print sorted(user_list, key=lambda user: user.key)
# [User(user3, 1), User(user2, 2), User(user1, 3)]
print sorted(user_list, key=lambda user: user.name)
# [User(user1, 3), User(user2, 2), User(user3, 1)]

這里排序的方法和字典排序類似,第一種是按user的key升序排序,第二種是按user的name升序排序。其實還支持名字相同,再按key進行排序,如下:

user_list = [
  User('user1', 3),
  User('user1', 2),
  User('user1', 1),
]

print sorted(user_list, key=lambda user: (user.name, user.key))
# [User(user1, 1), User(user1, 2), User(user1, 3)]

以上就是python 使用建議與技巧分享(四)的詳細內(nèi)容,更多關于python 建議與技巧的資料請關注腳本之家其它相關文章!

相關文章

  • 全網(wǎng)最簡約的Anaconda+Python3.7安裝教程Win10

    全網(wǎng)最簡約的Anaconda+Python3.7安裝教程Win10

    這篇文章主要介紹了全網(wǎng)最簡約的Anaconda+Python3.7安裝教程Win10,圖文講解全流程安裝方法,還不會的小伙伴快來看看吧
    2023-03-03
  • 教你用Python代碼實現(xiàn)合并excel文件

    教你用Python代碼實現(xiàn)合并excel文件

    近幾天一直因為excel文件太多太雜的原因苦惱,今天特地整理了本篇文章,文章介紹的非常詳細,對正在學習python的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05
  • Python?輕松實現(xiàn)可視化大屏

    Python?輕松實現(xiàn)可視化大屏

    對于從事數(shù)據(jù)領域的小伙伴來說,當需要闡述自己觀點、展示項目成果時,我們需要在最短時間內(nèi)讓別人知道你的想法。我相信單調(diào)乏味的語言很難讓別人快速理解。最直接有效的方式就是將數(shù)據(jù)進行可視化展現(xiàn)
    2022-01-01
  • python3使用SMTP發(fā)送HTML格式郵件

    python3使用SMTP發(fā)送HTML格式郵件

    這篇文章主要為大家詳細介紹了python3使用SMTP發(fā)送HTML格式的郵件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • PyQt5結(jié)合matplotlib繪圖的實現(xiàn)示例

    PyQt5結(jié)合matplotlib繪圖的實現(xiàn)示例

    這篇文章主要介紹了PyQt5結(jié)合matplotlib繪圖的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • 詳解Python的Django框架中的通用視圖

    詳解Python的Django框架中的通用視圖

    這篇文章主要介紹了詳解Python的Django框架中的通用視圖,是為MVC架構的Django框架下的基礎知識,需要的朋友可以參考下
    2015-05-05
  • Python字典,函數(shù),全局變量代碼解析

    Python字典,函數(shù),全局變量代碼解析

    這篇文章主要介紹了Python字典,函數(shù),全局變量代碼解析,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • python開發(fā)之thread線程基礎實例入門

    python開發(fā)之thread線程基礎實例入門

    這篇文章主要介紹了python開發(fā)之thread線程基礎,以三個實例形式分析了Python中thread線程的基本使用方法,涉及串行與并行程序的執(zhí)行原理及線程的操作技巧,需要的朋友可以參考下
    2015-11-11
  • Python圖像灰度變換及圖像數(shù)組操作

    Python圖像灰度變換及圖像數(shù)組操作

    這篇文章主要介紹了Python圖像灰度變換及圖像數(shù)組操作的相關資料,需要的朋友可以參考下
    2016-01-01
  • 詳解Python中的序列化與反序列化的使用

    詳解Python中的序列化與反序列化的使用

    這篇文章主要介紹了詳解Python中的序列化與反序列化的使用,針對pickle和cPickle對象進行了探究,需要的朋友可以參考下
    2015-06-06

最新評論

涞源县| 孙吴县| 洪江市| 嵩明县| 鹿邑县| 抚松县| 若尔盖县| 浮梁县| 沭阳县| 布拖县| 崇礼县| 南召县| 临洮县| 万年县| 维西| 石棉县| 大港区| 松溪县| 桃源县| 隆德县| 娱乐| 本溪市| 黄山市| 清丰县| 新田县| 高台县| 陕西省| 嘉峪关市| 西丰县| 平阴县| 绥棱县| 军事| 阳原县| 塔城市| 成都市| 四川省| 五莲县| 甘南县| 察哈| 方山县| 葫芦岛市|