<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python里面的猴子補(bǔ)丁?是什么?

          共 3138字,需瀏覽 7分鐘

           ·

          2024-04-11 15:22


          ??我的小冊(cè) 40章+教程:(小白零基礎(chǔ)用Python量化股票分析小冊(cè)) ,目前已經(jīng)300多人訂閱


          轉(zhuǎn)自:python專欄

          一、什么是猴子補(bǔ)???

          猴子補(bǔ)丁:Monkey Patch,主要功能就是動(dòng)態(tài)的屬性的替換,模塊運(yùn)行時(shí)替換的功能。說(shuō)直接點(diǎn)就是程序功能的追加或者變更。

          二、Monkey Patch功能簡(jiǎn)介

          Monkey Patch允許在程序運(yùn)行期間動(dòng)態(tài)的修改一個(gè)類或者模塊。

          三、舉個(gè)例子

          之前一個(gè)做游戲的,在很多地方都用了**import json,后來(lái)發(fā)現(xiàn)ujson比Python自帶的json快很多,于是問(wèn)題來(lái)了,幾十幾百個(gè)文件難道要一個(gè)一個(gè)的把import json替換成import ujson as json嗎?那也太痛苦了,其實(shí)只需要在進(jìn)程開(kāi)始的地方使用monkey patch**就行了,它是會(huì)影響整個(gè)進(jìn)程空間的,同一進(jìn)程空間中一個(gè)module只會(huì)被執(zhí)行一次。


          """
          file:json_serialize.py
          """

          import time
          import json

          # 時(shí)間測(cè)試裝飾器
          def run_time(func):
              def inner(*args, **kwargs):
                  start_time = time.time()
                  result = func(*args, **kwargs)
                  end_time = time.time()
                  print(f'程序用時(shí):{end_time - start_time}')
                  return result

              return inner

          @run_time
          def json_dumps(obj):
              return json.dumps(obj)

          # 生成測(cè)試字典
          test_dict = {i: 1 for i in range(110000001)}

          使用json模塊執(zhí)行原程序:

          """
          file:run.py
          """

          from json_serialize import json_dumps, test_dict

          print(f'json.dumps編碼用時(shí):', end='')
          r1 = json_dumps(test_dict)

          原程序的性能太低,我們可以使用ujson將json替換掉!

          使用monkey patch修改后:

          """
          file:run.py
          """

          import json
          import ujson
          from json_serialize import json_dumps, test_dict

          def monkey_patch_json():
              json.dumps = ujson.dumps

          monkey_patch_json()
          print(f'使用猴子補(bǔ)丁之后json.dumps編碼用時(shí):', end='')
          json_dumps(test_dict)

          這個(gè)時(shí)候在這個(gè)項(xiàng)目中json模塊就被monkey patch修改為了ujson模塊



          最后推薦一下我們團(tuán)隊(duì)寫(xiě)的量化小冊(cè)的內(nèi)容,45篇內(nèi)容!從Python安裝,入門(mén),數(shù)據(jù)分析,爬取股票基金的歷史+實(shí)時(shí)數(shù)據(jù),以及如何寫(xiě)一個(gè)簡(jiǎn)單量化策略,策略回測(cè),如何看資金曲線統(tǒng)統(tǒng)都有介紹!非常超值!

          歡迎訂閱:原價(jià)199 早鳥(niǎo)價(jià)2杯咖啡錢,即可永久閱讀?,F(xiàn)在的價(jià)格非常非常低,只要2杯奶茶,就可以終身訂閱+課程源碼,還有永久陪伴群。48小時(shí)無(wú)理由退款,放心食用!



          推薦閱讀:


          量化: 如何用Python爬取創(chuàng)業(yè)板歷史+實(shí)時(shí)股票數(shù)據(jù)!實(shí)戰(zhàn)股票分析篇利用Pandas 9招挖掘五糧液股價(jià)!實(shí)戰(zhàn)股票數(shù)據(jù)分析篇 Pandas滾動(dòng)操作 |量化股票第一步,用Python畫(huà)股票K線,雙均線圖,可視化你的股票數(shù)據(jù)!如何用Python爬取全部800多只ETF基金數(shù)據(jù)!如何用Python寫(xiě)一個(gè)雙均線策略 |如何用Python開(kāi)發(fā)一個(gè)多策略機(jī)器人!上篇!Python量化系列-用布林策略買五糧液能賺多少錢?只要4秒鐘!用Python 獲取上證指數(shù)34年的歷史日線數(shù)據(jù)!


          入門(mén): 最全的零基礎(chǔ)學(xué)Python的問(wèn)題  | 零基礎(chǔ)學(xué)了8個(gè)月的Python  | 實(shí)戰(zhàn)項(xiàng)目 |學(xué)Python就是這條捷徑


          干貨:爬取豆瓣短評(píng),電影《后來(lái)的我們》 | 38年NBA最佳球員分析 |   從萬(wàn)眾期待到口碑撲街!唐探3令人失望  | 笑看新倚天屠龍記 | 燈謎答題王 |用Python做個(gè)海量小姐姐素描圖 |碟中諜這么火,我用機(jī)器學(xué)習(xí)做個(gè)迷你推薦系統(tǒng)電影


          趣味:彈球游戲  | 九宮格  | 漂亮的花 | 兩百行Python《天天酷跑》游戲!

          AI: 會(huì)做詩(shī)的機(jī)器人 | 給圖片上色 | 預(yù)測(cè)收入 | 碟中諜這么火,我用機(jī)器學(xué)習(xí)做個(gè)迷你推薦系統(tǒng)電影


          小工具: Pdf轉(zhuǎn)Word,輕松搞定表格和水??! | 一鍵把html網(wǎng)頁(yè)保存為pdf!|  再見(jiàn)PDF提取收費(fèi)! | 用90行代碼打造最強(qiáng)PDF轉(zhuǎn)換器,word、PPT、excel、markdown、html一鍵轉(zhuǎn)換 | 制作一款釘釘?shù)蛢r(jià)機(jī)票提示器! |60行代碼做了一個(gè)語(yǔ)音壁紙切換器天天看小姐姐!

          瀏覽 44
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲精品一区中文字幕乱码 | 欧美一级专区, | 大香蕉黄色电影网址大全 | 国产偷抇久久精品A片69探花 | 亚洲无码视屏 |