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

利用Python編寫個(gè)有趣的記仇本

 更新時(shí)間:2023年04月17日 10:53:38   作者:真的不能告訴你我的名字  
這篇文章主要為大家介紹了一個(gè)有趣的小案例——利用Python編寫個(gè)有趣的記仇本,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以嘗試一下

最近背著老婆買了一個(gè)switch卡帶,這貨居然給丈母娘講,害得我被丈母娘說(shuō)還小了,不買奶粉買游戲,太氣人了,我連夜用python寫了個(gè)《記仇本》,畫個(gè)圈圈把她記下來(lái)。

本片文章,主要關(guān)注于python代碼,而htmlcss將暫時(shí)被忽略。

記仇本展示

如題所述,項(xiàng)目已經(jīng)寫好了,是基于local_storage存儲(chǔ)在本地的項(xiàng)目

該項(xiàng)目運(yùn)行時(shí)是基于brython, 你可能想問(wèn),為什么不使用原生python來(lái)編寫網(wǎng)頁(yè)呢,這個(gè)有個(gè)誤區(qū)是,網(wǎng)頁(yè)是由html代碼編寫的,而原生python想要操作DOM非常難,所以brython正是為這個(gè)來(lái)操作的。

初始打開頁(yè)面,因?yàn)闆](méi)有數(shù)據(jù)展示,所以只有一個(gè)增加按鈕。

當(dāng)我們點(diǎn)擊【畫個(gè)圈圈記下來(lái)】按鈕后,會(huì)刷新為新增頁(yè)面,例如:

此時(shí),我們只需要輸入信息,比如 記老婆的仇,緣由為 買switch游戲透露給丈母娘,還得被罵。

此時(shí)點(diǎn)擊記仇,就可以存儲(chǔ)到頁(yè)面上了。

此時(shí)若點(diǎn)擊已原諒,則可以刪除該記錄。

brython 之 local_storage

你可能細(xì)心發(fā)現(xiàn)了,哎,關(guān)掉了瀏覽器,下次打開,怎么還會(huì)有記錄在上面呢,這是因?yàn)橛昧?code>local_storage,那么,什么是local_storage呢?

哎,我們使用的是brython中的local_storage但是,它可不是python定義的哦,而是HTML 5提供的存儲(chǔ)數(shù)據(jù)的API之一,可以在瀏覽器中保持鍵值對(duì)數(shù)據(jù)塊。

現(xiàn)在來(lái)展示使用一下brython存儲(chǔ)和刪除的操作。

導(dǎo)入庫(kù):

from browser.local_storage import storage

存儲(chǔ)數(shù)據(jù),例如鍵值信息juejinName存儲(chǔ)為pdudo

storage[juejinName] = "pdudo"

查詢的話,直接使用storage[變量]就好,若為空,則返回None

v = storage[juejinName]

循環(huán)所有的key,需要引入window庫(kù),再使用for...in來(lái)完成

from browser import window
for key in window.localStorage:
    print(key)

也可以直接使用for...in來(lái)遍歷storage

而刪除數(shù)據(jù)呢?只需要像刪除字典一下

del storage[juejinName]

storage是不是操作起來(lái)和字典非常類似呢?減少了開發(fā)者的學(xué)習(xí)成本。

制作項(xiàng)目

有了上述前置條件后,我們?cè)倏丛擁?xiàng)目,便可以總結(jié)為 針對(duì)localStorage的增刪查,首先當(dāng)頁(yè)面加載出來(lái)的時(shí)候,我們需要先遍歷一下localstorage數(shù)據(jù),從而映射為一個(gè)table,例如:

  for key in window.localStorage:
    tr = html.TR()
    datas = json.loads(storage[key])

    delBtn = html.BUTTON("已原諒")
    delBtn.dataset["id"] = datas["id"]
    delBtn.className = "confirm-btn"
    delBtn.bind("click",delGrudges)

    td = html.TD(delBtn+" "+time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(int(datas["id"]))))
    tr <= td

    for tdVal in datas["whos"],datas["Text"]:
      td = html.TD(tdVal)
      tr <= td
        
    tb <= tr 

    userWindows <= tb

上述代碼是遍歷localStorage,而后在定義刪除按鈕,等將其他值組合完畢后,全部加載進(jìn)table中,而后再頁(yè)面上顯示。

而添加數(shù)據(jù)呢?

def saveGrudges(ev):
  getWhoVal = document["whos"].value
  getTextVal = document["textArea"].value

  if getWhoVal == "" or getTextVal == "":
    return
  
  document["saveBtn"].unbind("click")


  ids = int(time.time())
  datas = {
    "id": ids,
    "whos": getWhoVal,
    "Text": getTextVal
  }

  storage[str(ids)] = json.dumps(datas)

上述代碼,顯示獲取inputtextarea框中的值,再判斷是否用戶沒(méi)有輸入,我們將數(shù)據(jù)組裝為一個(gè)字典,而后轉(zhuǎn)換為字符串,再存入localstage中。

還有其他操作,這個(gè)可以直接看代碼說(shuō)明,brython很簡(jiǎn)單的。

總結(jié)

這篇文章,是善用localStorage來(lái)作為鍵值對(duì)存儲(chǔ),以此來(lái)保證打開和關(guān)閉瀏覽器,不會(huì)對(duì)數(shù)據(jù)產(chǎn)生影響,整個(gè)項(xiàng)目就是圍繞這個(gè)localStorage增刪改查來(lái)操作的。

到此這篇關(guān)于利用Python編寫個(gè)有趣的記仇本的文章就介紹到這了,更多相關(guān)Python記仇本內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于PyQt5自制簡(jiǎn)單的文件內(nèi)容檢索小工具

    基于PyQt5自制簡(jiǎn)單的文件內(nèi)容檢索小工具

    這篇文章主要為大家詳細(xì)介紹了如何基于PyQt5自制一個(gè)簡(jiǎn)單的文件內(nèi)容檢索小工具,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-05-05
  • python3 property裝飾器實(shí)現(xiàn)原理與用法示例

    python3 property裝飾器實(shí)現(xiàn)原理與用法示例

    這篇文章主要介紹了python3 property裝飾器實(shí)現(xiàn)原理與用法,結(jié)合實(shí)例形式分析了Python3 property裝飾器功能、原理及實(shí)現(xiàn)方法,需要的朋友可以參考下
    2019-05-05
  • Python實(shí)現(xiàn)多功能音樂(lè)播放器詳解

    Python實(shí)現(xiàn)多功能音樂(lè)播放器詳解

    這篇文章主要介紹了如何通過(guò)Python制作一個(gè)簡(jiǎn)易的音樂(lè)播放器,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定價(jià)值,需要的可以參考一下
    2022-02-02
  • 在前女友婚禮上,用Python破解了現(xiàn)場(chǎng)的WIFI還把名稱改成了

    在前女友婚禮上,用Python破解了現(xiàn)場(chǎng)的WIFI還把名稱改成了

    今日重點(diǎn):① python暴力拿下WiFi密碼,②python拿下路由器管理頁(yè)面,文中有非常詳細(xì)的代碼示例,干貨滿滿,,需要的朋友可以參考下
    2021-05-05
  • python logging模塊的使用詳解

    python logging模塊的使用詳解

    這篇文章主要介紹了python logging模塊的使用,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-10-10
  • PyCharm中安裝PIL/Pillow的方法

    PyCharm中安裝PIL/Pillow的方法

    這篇文章主要介紹了PyCharm中PIL/Pillow的安裝,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • django之用戶、用戶組及權(quán)限設(shè)置方式

    django之用戶、用戶組及權(quán)限設(shè)置方式

    這篇文章主要介紹了django之用戶、用戶組及權(quán)限設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • python中Lambda表達(dá)式詳解

    python中Lambda表達(dá)式詳解

    在本篇文章里小編給大家整理的是關(guān)于python中Lambda表達(dá)式的相關(guān)知識(shí)點(diǎn)內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。
    2019-11-11
  • 如何利用Python處理excel表格中的數(shù)據(jù)

    如何利用Python處理excel表格中的數(shù)據(jù)

    Excel做為職場(chǎng)人最常用的辦公軟件,具有方便、快速、批量處理數(shù)據(jù)的特點(diǎn),下面這篇文章主要給大家介紹了關(guān)于如何利用Python處理excel表格中數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • Python實(shí)現(xiàn)批量翻譯的示例代碼

    Python實(shí)現(xiàn)批量翻譯的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用Python語(yǔ)言實(shí)現(xiàn)批量翻譯的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-09-09

最新評(píng)論

宝鸡市| 拉孜县| 石家庄市| 渝中区| 宜兴市| 兴国县| 建瓯市| 海安县| 哈密市| 武冈市| 莆田市| 高邑县| 张家港市| 固阳县| 华池县| 扬中市| 平利县| 泽库县| 洮南市| 新邵县| 耒阳市| 卫辉市| 瑞昌市| 柳江县| 巴南区| 平远县| 封开县| 黑水县| 玛沁县| 英山县| SHOW| 高淳县| 丁青县| 堆龙德庆县| 灌南县| 呼图壁县| 漳浦县| 会宁县| 庄浪县| 满洲里市| 德令哈市|