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

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

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

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

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__方法可以將類打印得更易讀。或者不定義__repr__方法,直接使用下面方式打印:

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升序排序。其實(shí)還支持名字相同,再按key進(jìn)行排序,如下:

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 使用建議與技巧分享(四)的詳細(xì)內(nèi)容,更多關(guān)于python 建議與技巧的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評(píng)論

高邑县| 汉沽区| 深水埗区| 福海县| 商南县| 炎陵县| 长阳| 临朐县| 繁昌县| 响水县| 靖宇县| 元谋县| 太原市| 玉山县| 交口县| 泾阳县| 青冈县| 集安市| 化德县| 婺源县| 嘉荫县| 隆昌县| 岐山县| 黑水县| 东平县| 新兴县| 张家口市| 麟游县| 治县。| 遵义市| 府谷县| 鹿泉市| 礼泉县| 敦化市| 福建省| 沛县| 旌德县| 前郭尔| 兴城市| 玉门市| 新泰市|