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

python如何為創(chuàng)建大量實(shí)例節(jié)省內(nèi)存

 更新時(shí)間:2018年03月20日 17:07:27   作者:北門吹雪  
這篇文章主要為大家詳細(xì)介紹了python如何為創(chuàng)建大量實(shí)例節(jié)省內(nèi)存,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

python如何為創(chuàng)建大量實(shí)例節(jié)省內(nèi)存,具體內(nèi)容如下

案例:

  某網(wǎng)絡(luò)游戲中,定義了玩家類Player(id, name, status,....),每有一個(gè)在線玩家,在服務(wù)器程序內(nèi)有一個(gè)Player的實(shí)例,當(dāng)在線人數(shù)很多時(shí),將產(chǎn)生大量實(shí)例(百萬級(jí)別)

  需求:

         如何降低這些大量實(shí)例的內(nèi)存開銷?

如何做?

       首先要明白,python中的類可以動(dòng)態(tài)的添加屬性,實(shí)則在內(nèi)存中有個(gè)__dict__方法維護(hù)了這種動(dòng)態(tài)添加屬性,它占有內(nèi)存,把它關(guān)掉,不就達(dá)到省內(nèi)存要求了?

#!/usr/bin/python3
 
import time
import sys
 
 
class Player(object):
  def __init__(self, id, name, status):
    self.id = id
    self.name = name
    self.status = status
 
if __name__ == '__main__':
  player_1 = Player(1, 'bei_bei', '上線')
  print(player_1.__dict__)
   
  print('_' * 100)
  # 動(dòng)態(tài)裝配屬性
  player_1.money = 10000
  player_1.__dict__['time'] = time.time()
  print(player_1.__dict__)
  print(player_1.money, player_1.time)
   
  print('_' * 100)
  # 打印__dict__占用的內(nèi)存空間
  print('dict方法占用內(nèi)存:', sys.getsizeof(player_1.__dict__))
   
  print('_'*100)
  # 動(dòng)態(tài)刪除屬性
  print(player_1.__dict__)
  del player_1.__dict__['time']
   
  del player_1.money
  print(player_1.__dict__) 

通過__slots__屬性,聲明實(shí)例屬性名字的列表

#!/usr/bin/python3
 
 
class Player(object):
  # 通過slots方法指定類的定長(zhǎng)屬性
  __slots__ = ['id', 'name', 'status']
   
  def __init__(self, id, name, status):
    self.id = id
    self.name = name
    self.status = status
 
 
if __name__ == '__main__':
  player_1 = Player(1, 'bei_bei', '上線')
  print(player_1.id, player_1.name, player_1.status)
   
  # 嘗試輸出__dict__屬性,發(fā)現(xiàn)沒有,就無法動(dòng)態(tài)的裝配類屬性,達(dá)到省內(nèi)存的目的
  try:
    print(player_1.__dict__)
  except Exception as e:
    print(e)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • PyQt Qt Designer工具的布局管理詳解

    PyQt Qt Designer工具的布局管理詳解

    這篇文章主要介紹了PyQt Qt Designer工具的布局管理詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • TensorFlow自定義模型保存加載和分布式訓(xùn)練

    TensorFlow自定義模型保存加載和分布式訓(xùn)練

    本篇文章將涵蓋 TensorFlow 的高級(jí)應(yīng)用,包括如何自定義模型的保存和加載過程,以及如何進(jìn)行分布式訓(xùn)練,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • Windows64x下VScode下載過程

    Windows64x下VScode下載過程

    這篇文章主要介紹了Windows64x下VScode下載,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-09-09
  • python網(wǎng)絡(luò)爬蟲之協(xié)程的實(shí)現(xiàn)方法

    python網(wǎng)絡(luò)爬蟲之協(xié)程的實(shí)現(xiàn)方法

    這篇文章主要介紹了python網(wǎng)絡(luò)爬蟲之協(xié)程的實(shí)現(xiàn)方法,協(xié)程Coroutine又稱微線程,是一種用戶態(tài)內(nèi)的上下文切換技術(shù),簡(jiǎn)而言之,就是通過一個(gè)線程實(shí)現(xiàn)代碼塊相互切換執(zhí)行,需要的朋友可以參考下
    2023-08-08
  • keras 讀取多標(biāo)簽圖像數(shù)據(jù)方式

    keras 讀取多標(biāo)簽圖像數(shù)據(jù)方式

    這篇文章主要介紹了keras 讀取多標(biāo)簽圖像數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • python神經(jīng)網(wǎng)絡(luò)MobileNetV2模型的復(fù)現(xiàn)詳解

    python神經(jīng)網(wǎng)絡(luò)MobileNetV2模型的復(fù)現(xiàn)詳解

    這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)MobileNetV2模型的復(fù)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 基于Flask框架添加多個(gè)AI模型的API并進(jìn)行交互

    基于Flask框架添加多個(gè)AI模型的API并進(jìn)行交互

    這篇文章主要介紹了如何基于 Flask 框架開發(fā) AI 模型 API 管理系統(tǒng),允許用戶添加、刪除不同 AI 模型的 API 密鑰,感興趣的可以了解下
    2025-03-03
  • 基于Python實(shí)現(xiàn)評(píng)論區(qū)抽獎(jiǎng)功能詳解

    基于Python實(shí)現(xiàn)評(píng)論區(qū)抽獎(jiǎng)功能詳解

    這篇文章主要為大家介紹了基于Python如何實(shí)現(xiàn)評(píng)論區(qū)抽獎(jiǎng)的功能,文章的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定幫助,需要的朋友可以學(xué)習(xí)一下
    2021-12-12
  • pytorch繪制曲線的方法

    pytorch繪制曲線的方法

    這篇文章主要為大家詳細(xì)介紹了pytorch繪制曲線的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • 利用Python實(shí)現(xiàn)智能合約的示例詳解

    利用Python實(shí)現(xiàn)智能合約的示例詳解

    智能合約是一種由計(jì)算機(jī)程序編寫的自動(dòng)化合約,它可以在沒有第三方干預(yù)的情況下執(zhí)行交易和契約條款。這篇文章主要介紹了如何利用Python實(shí)現(xiàn)智能合約,需要的可以參考一下
    2023-04-04

最新評(píng)論

昂仁县| 南和县| 木兰县| 湘潭县| 施秉县| 聂荣县| 巴马| 台东市| 阳原县| 昌都县| 平顶山市| 沾益县| 利川市| 呼和浩特市| 革吉县| 博爱县| 罗城| 桂阳县| 长治市| 荔波县| 乌兰察布市| 达尔| 万安县| 昌平区| 丘北县| 华安县| 武威市| 县级市| 吴江市| 石阡县| 富锦市| 凤凰县| 晋宁县| 顺平县| 高安市| 汝南县| 德阳市| 临泽县| 玉门市| 高淳县| 休宁县|