最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

新手想掌握Python技能需要眾多Python項(xiàng)目練習(xí),適合項(xiàng)目有哪些?

2020-04-24 13:44 作者:松鼠愛吃餅干  | 我要投稿

適合新手練習(xí)的Python項(xiàng)目有哪些?簡(jiǎn)單易上手的Python項(xiàng)目匯總:Web 項(xiàng)目設(shè)計(jì):內(nèi)容聚合器、正則表達(dá)式查詢工具、網(wǎng)址縮短、便利貼、功能、測(cè)驗(yàn)、GUI 項(xiàng)目設(shè)計(jì):MP3 播放器、鬧鈴提醒工具、文件管理器、記賬功能、命令行項(xiàng)目設(shè)計(jì):通訊錄、網(wǎng)站連接檢查、批量文件重命名工具、目錄樹生成器。



一、Web 項(xiàng)目設(shè)計(jì):內(nèi)容聚合器(Content Aggregator)

  該項(xiàng)目設(shè)計(jì)的主要目標(biāo)是聚合內(nèi)容。首先,需要知道內(nèi)容聚合器從哪些站點(diǎn)獲取內(nèi)容。然后,使用請(qǐng)求庫(kù)來發(fā)送 HTTP 請(qǐng)求,并使用 BeautifulSoup 解析和抓取站點(diǎn)的必要內(nèi)容。

  該應(yīng)用程序可以將其內(nèi)容聚合作為后臺(tái)進(jìn)程進(jìn)行實(shí)現(xiàn)。celery 或 apscheduler 等庫(kù)可以提供幫助。建議嘗試 apscheduler。它非常適用于小型后臺(tái)進(jìn)程。從各個(gè)站點(diǎn)抓取的內(nèi)容需要進(jìn)行保存,需要使用數(shù)據(jù)庫(kù)。

二、正則表達(dá)式查詢工具

  這類項(xiàng)目的主要目的是判別用戶輸入的查詢字符串的有效性??梢宰屗o出有效和無效的判別,例如「查詢字符串有效」和「查詢字符串無效」,以綠色顯示有效,以紅色顯示無效。不必從頭開始構(gòu)造查詢工具。使用 Python 的標(biāo)準(zhǔn) relibrary,就可以對(duì)輸入的文本運(yùn)行查詢字符串。當(dāng)查詢字符串不匹配時(shí),re 庫(kù)將返回 None,當(dāng)匹配時(shí),將返回匹配的字符串。

  有些用戶可能無法完全理解正則表達(dá)式,因此讀者可以自己創(chuàng)建一個(gè)頁(yè)面來解釋正則表達(dá)式的工作原理。寫一個(gè)足夠有趣的文檔,讓用戶對(duì)學(xué)習(xí)和理解正則表達(dá)式產(chǎn)生興趣。制作一個(gè)只返回正則表達(dá)式有效性的項(xiàng)目很好。但也可以添加替換功能。這意味著應(yīng)用程序?qū)z查正則表達(dá)式的有效性,并允許用戶用其他內(nèi)容替換匹配的字符串。因此,該工具不再只是查詢工具,也成為了替換工具。

三、網(wǎng)址縮短(URLShortener)

  該項(xiàng)目設(shè)計(jì)的主要目標(biāo)是縮短 URL。應(yīng)用程序在縮短 URL 后,再訪問縮短的 URL 時(shí)將用戶重定向到原始 URL。在應(yīng)用程序中,用戶將輸入原始 URL,最后獲得新的縮短 URL。為此,可以使用 random 和 string 模塊的組合來生成縮短版 URL 的字符。

  由于用戶將在幾天、幾個(gè)月甚至幾年后訪問縮短的 URL,因此需要將原始 URL 和縮短的 URL 保存在數(shù)據(jù)庫(kù)中。當(dāng)出現(xiàn)請(qǐng)求時(shí),應(yīng)用程序會(huì)檢查 URL 是否存在并重定向到原始 URL,否則會(huì)重定向到 404 頁(yè)面。使用隨機(jī)字符生成縮短 URL 比長(zhǎng)且隨機(jī)字符的 URL 更好。通過添加功能來自定義 URL,用戶就可以自定義生成的 URL。

  自定義 xyz.com/mysite URL 比隨機(jī)生成的 xyz.com/piojwr URL 更好。

四、便利貼功能

  該項(xiàng)目的主要目的是讓用戶記下自己的想法。即每個(gè)用戶都有自己的筆記,因此應(yīng)用程序需要具有帳戶創(chuàng)建功能。這確保了每個(gè)用戶的筆記都是私人的。django 帶有用戶身份驗(yàn)證系統(tǒng),因此它可能是一個(gè)不錯(cuò)的選擇??梢允褂闷渌蚣?,如 bottle 和 flask,但必須自己實(shí)現(xiàn)用戶身份驗(yàn)證系統(tǒng)。

  由于用戶可能需要在不同情境下記錄不同的筆記,因此實(shí)現(xiàn)用戶的筆記分類功能將使應(yīng)用程序更實(shí)用。需要記錄一些算法和數(shù)據(jù)結(jié)構(gòu),因此需要將不同的筆記劃分到各自類別中。需要存儲(chǔ)每個(gè)用戶的信息和筆記,因此數(shù)據(jù)庫(kù)成為該項(xiàng)目的重要組成部分。如果想使用 MySQL 數(shù)據(jù)庫(kù)或用于 PostgreSQL 數(shù)據(jù)庫(kù)的 psycopg2 模塊,可以使用 MySQLdb 模塊。還可以使用其他模塊,但這完全取決于選擇使用的數(shù)據(jù)庫(kù)。

  用戶忘記自己的想法是人之常情,甚至有時(shí)會(huì)忘記自己記了筆記??梢蕴砑右粋€(gè)功能,提醒用戶他們記了筆記。此功能允許用戶設(shè)置提醒時(shí)間,應(yīng)用程序?qū)⑼ㄟ^電子郵件提醒用戶。

五、測(cè)驗(yàn)

  這個(gè)項(xiàng)目的主要目標(biāo)是設(shè)置測(cè)驗(yàn)并讓人們作答。因此,用戶應(yīng)該能夠設(shè)置問題,其他用戶應(yīng)該能夠回答這些問題。然后,應(yīng)用程序?qū)@示最終得分和正確答案。希望用戶能夠記錄他們的分?jǐn)?shù),則需要實(shí)現(xiàn)帳戶創(chuàng)建功能。

  創(chuàng)建測(cè)試的用戶應(yīng)該能夠通過上傳文本文件來創(chuàng)建帶有問題和答案的測(cè)試。文本文件應(yīng)該能夠轉(zhuǎn)換成用戶需要的格式,因此應(yīng)用程序可以將文件轉(zhuǎn)換為測(cè)驗(yàn)格式。

  還需要為此項(xiàng)目創(chuàng)建數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)將存儲(chǔ)每個(gè)用戶的問題、可能的答案、正確的答案和分?jǐn)?shù)。允許用戶在測(cè)驗(yàn)中添加計(jì)時(shí)器。這樣,測(cè)驗(yàn)的創(chuàng)建者可以確定用戶在測(cè)驗(yàn)中的每個(gè)問題上花多長(zhǎng)時(shí)間。同時(shí)擁有測(cè)驗(yàn)分享功能也很棒,這樣用戶可以在其他平臺(tái)上與朋友分享有趣的測(cè)驗(yàn)。

六、GUI 項(xiàng)目設(shè)計(jì):MP3 播放器

  該項(xiàng)目的主要目標(biāo)是允許用戶播放 MP3 和數(shù)字音頻文件。為了吸引用戶,應(yīng)用程序必須具有簡(jiǎn)單但美觀的用戶界面。可以添加一個(gè)能列出可用 MP3 文件的界面。還可以為用戶列出其他非 MP3 的數(shù)字音頻文件。用戶還希望 MP3 播放器具有顯示正在播放的文件信息的界面。其中可以包括文件名、長(zhǎng)度、播放時(shí)長(zhǎng)以及未播放時(shí)長(zhǎng)(以分鐘和秒為單位)。

  Python 具有可以播放音頻文件的庫(kù),如 pygame,使用幾行代碼即可處理多媒體文件。還可以查看 pymedia(https://pypi.org/project/PyMedia/)和 simpleaudio。這些庫(kù)可以處理大量的數(shù)字音頻文件。包括 MP3 文件和其他格式的音頻文件。此外,這些庫(kù)還有允許用戶創(chuàng)建播放列表的功能。為此,需要一個(gè)數(shù)據(jù)庫(kù)來存儲(chǔ)創(chuàng)建的播放列表的信息。Python 的 sqlite3 模塊允許使用 SQLite 數(shù)據(jù)庫(kù)。

  在這種情況下,SQLite 數(shù)據(jù)庫(kù)是更好的選擇,因?yàn)樗腔谖募?,并且比其?SQL 數(shù)據(jù)庫(kù)更容易設(shè)置。雖然 SQLite 是基于文件的,但它能比常規(guī)文件更好地保存數(shù)據(jù)。如果上面的都做到了,還可以添加一項(xiàng)功能,以允許 MP3 播放器重復(fù)播放當(dāng)前正在播放的文件,甚至可以實(shí)現(xiàn)隨機(jī)播放。還可以添加增加和降低音頻文件播放速度的功能。用戶會(huì)很喜歡這一功能,因?yàn)樗麄兡軌蛞员绕綍r(shí)更慢或更快的速度播放音頻文件。

七、鬧鈴提醒工具

  該項(xiàng)目的主要目標(biāo)是在一天中的特定時(shí)間激活音頻信號(hào)。因此,定時(shí)和音頻信號(hào)播放是鬧鈴工具中最重要的部分。鬧鈴工具應(yīng)允許用戶創(chuàng)建、編輯和刪除鬧鈴。它還應(yīng)該有一個(gè)能列出所有未被刪除的鬧鈴界面。因此,它應(yīng)列出活動(dòng)鬧鈴和閑置鬧鈴。由于它是一個(gè)鬧鈴,應(yīng)用程序必須在規(guī)定的時(shí)間播放音頻。用于播放音頻的庫(kù)有 pygame 庫(kù)等。

  在代碼邏輯中,應(yīng)用程序必須不斷檢查設(shè)置的鬧鈴時(shí)間。到達(dá)時(shí)間后,它會(huì)觸發(fā)一個(gè)播放鬧鐘鈴聲的功能。由于應(yīng)用程序?qū)z查設(shè)置的鬧鈴時(shí)間,這意味著應(yīng)用程序必須將其保存在數(shù)據(jù)庫(kù)中。數(shù)據(jù)庫(kù)應(yīng)存儲(chǔ)鬧鈴日期、時(shí)間和音頻等內(nèi)容。

  也可以允許用戶設(shè)置定期鬧鈴。用戶能夠設(shè)置在每周的某些日子、特定時(shí)間響鈴。例如,可以在每個(gè)星期一下午 2:00 設(shè)置鬧鈴。還可以添加暫停功能,以便用戶可以暫停鬧鐘而不是解除鬧鐘?!?/p>

八、文件管理器

  文件管理器項(xiàng)目的主要目標(biāo)是為用戶提供管理文件的界面。用戶需要一個(gè)易上手又實(shí)用的文件管理器??梢允褂?PySimpleGUI 庫(kù)創(chuàng)建具有一個(gè)功能強(qiáng)大的由小部件組成的用戶界面,該界面也無需處理大量復(fù)雜工作。用戶應(yīng)該能夠完成一些簡(jiǎn)單的任務(wù),如創(chuàng)建新目錄或空文本文件。還應(yīng)該能夠復(fù)制和移動(dòng)文件或目錄。sys、os 和 shutil 庫(kù)對(duì)此項(xiàng)目非常有用,它們可用于在用戶點(diǎn)擊時(shí)對(duì)后臺(tái)文件執(zhí)行操作。

  網(wǎng)格視圖和列表視圖是目前比較受歡迎的視圖,因此可以在應(yīng)用程序中實(shí)現(xiàn)這兩種視圖。用戶可以選擇適合他們的視圖選項(xiàng)。要使文件管理器更高級(jí),可以加入搜索功能。用戶無需手動(dòng)查找即可搜索文件和目錄。此外,還可以實(shí)現(xiàn)排序功能。用戶根據(jù)不同的順序?qū)ξ募M(jìn)行排序,例如時(shí)間、字母順序或大小。

九、記賬功能

  該項(xiàng)目的主要目標(biāo)是跟蹤用戶的支出。為了向用戶提供正確信息,并幫助他們優(yōu)化支出,需要進(jìn)行一些統(tǒng)計(jì)分析。雖然跟蹤費(fèi)用是關(guān)鍵,但良好的界面也很重要。使用 PySimpleGUI,可以創(chuàng)建一個(gè)獨(dú)特的界面來改善用戶體驗(yàn)。諸如 pandas 和 matplotlib 之類的 PyData 庫(kù)可以幫助設(shè)計(jì)記賬工具。

  pandas 庫(kù)可用于數(shù)據(jù)分析,matplotlib 庫(kù)可用于繪制圖形。圖表將為用戶提供其支出的直觀表示,并且可視化通常更容易理解。應(yīng)用程序?qū)挠脩裟抢铽@得數(shù)據(jù)。這里的數(shù)據(jù)是輸入的支出。因此,費(fèi)用需要存儲(chǔ)在數(shù)據(jù)庫(kù)中。SQLite 數(shù)據(jù)庫(kù)是該項(xiàng)目的一個(gè)很好的選擇,因?yàn)榭梢钥焖僭O(shè)置。可以將 sqlite3 模塊用于 SQLite 數(shù)據(jù)庫(kù)。

  為了讓用戶從這個(gè)項(xiàng)目中受益,他們需要在應(yīng)用程序中定期輸入自己的支出,但人們可能經(jīng)常遺忘。所以添加一個(gè)提醒功能很有效。如此一來,應(yīng)用程序就會(huì)在每天或每周的特定時(shí)間發(fā)送通知,提醒用戶們使用記賬工具。

十、命令行項(xiàng)目設(shè)計(jì):通訊錄

  該項(xiàng)目的主要目標(biāo)是保存聯(lián)系方式。設(shè)置可以讓用戶輸入聯(lián)系人詳細(xì)信息的命令非常重要??梢允褂?argparse 或 clickcommand-line 框架。它們簡(jiǎn)化了很多復(fù)雜的東西,所以只需要關(guān)注執(zhí)行命令時(shí)要運(yùn)行的邏輯即可。此外,還有一些功能需要實(shí)現(xiàn),如刪除聯(lián)系人、更新聯(lián)系人信息和列出已保存聯(lián)系人。還可以允許用戶使用不同順序列出聯(lián)系人,例如字母順序或聯(lián)系人創(chuàng)建日期。


  它是一個(gè)命令行項(xiàng)目,用 SQLite 數(shù)據(jù)庫(kù)就可以很好地保存聯(lián)系人。SQLite 的設(shè)置非常友好??梢詫⒙?lián)系人詳細(xì)信息保存在文件中,但文件不會(huì)具有 SQLite 的優(yōu)勢(shì),例如更好的性能和安全性。要在此項(xiàng)目中使用 SQLite 數(shù)據(jù)庫(kù),Python sqlite3 模塊將非常有用。還記得數(shù)據(jù)庫(kù)是如何存儲(chǔ)在用戶的計(jì)算機(jī)上的嗎?如果用戶文件丟失了會(huì)怎么樣?這意味著他們也會(huì)失去聯(lián)系方式。

  進(jìn)一步的挑戰(zhàn)是將數(shù)據(jù)庫(kù)備份到在線存儲(chǔ)平臺(tái)。為此,可以按特定間隔將數(shù)據(jù)庫(kù)文件上傳到云。還可以添加允許用戶自己備份數(shù)據(jù)庫(kù)的命令。這樣,如果數(shù)據(jù)庫(kù)文件丟失,用戶仍然可以訪問聯(lián)系人。應(yīng)該注意,可能需要某種形式的標(biāo)識(shí),這樣通訊錄就可以識(shí)別哪個(gè)數(shù)據(jù)庫(kù)文件屬于哪個(gè)用戶。實(shí)現(xiàn)用戶身份驗(yàn)證功能是實(shí)現(xiàn)此功能的一種方法。

十一、網(wǎng)站連接檢查

  該項(xiàng)目的主要目標(biāo)是檢查網(wǎng)站的狀態(tài)。因此需要編寫用于檢查網(wǎng)站狀態(tài)的代碼。可以選擇使用 TCP 或 ICMP 進(jìn)行連接。socket 模塊是用于檢查的模塊。還可以閱讀 Python 指南中的 socket 編程。無論是 docopt、click 還是 argparse 框架,都可以添加命令,從而允許用戶在要檢查的網(wǎng)站列表中添加和刪除某網(wǎng)站。用戶還應(yīng)該能夠啟動(dòng)工具、停止工具并確定間隔。

  由于必須保存要檢查的文件列表,因此可以將其保存在文件(只是網(wǎng)站列表)中,也可以通過 sqlite3 模塊使用 SQLite 數(shù)據(jù)庫(kù)。該應(yīng)用程序也可以檢查站點(diǎn)的連接狀態(tài),并將結(jié)果顯示在命令行中。但這要求用戶繼續(xù)檢查命令行。也可以增加通知功能。通知功能可以在站點(diǎn)狀態(tài)發(fā)生變化時(shí),在后臺(tái)通過聲音提醒用戶。需要一個(gè)數(shù)據(jù)庫(kù)來存儲(chǔ)網(wǎng)站的先前狀態(tài)。這是該工具可以判斷狀態(tài)何時(shí)發(fā)生變化的唯一方式。

十二、批量文件重命名工具

  這個(gè)項(xiàng)目的主要目標(biāo)是重命名文件。因此,應(yīng)用程序需要找到一種操作目標(biāo)文件的方法。os、sys 和 shutil 庫(kù)對(duì)這個(gè)項(xiàng)目很有用。用戶將能夠使用命名約定重命名目錄中的所有文件。因此,他們應(yīng)該能夠自主制定命名約定。如果了解正則表達(dá)式的工作原理,那么 regex 模塊能輔助匹配所需的命名模式。

  用戶可能希望傳遞命名約定作為命令的一部分,并期望該工具能重命名所有文件,如 myfilesXYZ,其中 XYZ 是數(shù)字。他們還應(yīng)該能夠選擇要重命名的文件所在的目錄。該項(xiàng)目的主要挑戰(zhàn)是重命名目錄中的所有文件。但是用戶可能只需要命名一定數(shù)量的文件。因此可以實(shí)現(xiàn)一項(xiàng)功能,允許用戶選擇要重命名的文件數(shù),而不是所有文件。

  請(qǐng)注意,僅重命名一定數(shù)量的文件將需要該工具根據(jù)字母順序、文件創(chuàng)建時(shí)間或文件大小對(duì)文件進(jìn)行排序,具體取決于用戶的要求。

十三、目錄樹生成器

  目錄樹生成器的主要目標(biāo)是可視化文件和目錄之間的關(guān)系。os 庫(kù)在列出目錄和所選目錄中的文件時(shí)非常有用。諸如 docopt 或 argparse 之類的框架能簡(jiǎn)化很多內(nèi)容,使可以專注于為應(yīng)用程序的邏輯編寫代碼。在應(yīng)用程序的邏輯中,可以決定如何表示文件或目錄。使用不同的顏色是一個(gè)很好的方法??梢允褂?colored 庫(kù)以不同顏色打印文件和目錄。

  還應(yīng)該可以設(shè)定目錄樹生成器的深度。例如,如果一個(gè)目錄的子目錄有 12 級(jí),而只需要用到第五級(jí)。還可以讓用戶自主決定目錄樹生成器的深度。由于生成的目錄樹結(jié)果將出現(xiàn)在命令行上,因此可以更進(jìn)一步,讓生成器創(chuàng)建目錄樹的圖像,即實(shí)現(xiàn)文本轉(zhuǎn)圖像的操作。

  新手想掌握Python技能需要通過眾多Python項(xiàng)目練習(xí),只有在不斷的練習(xí)過程中才能掌握編程思維及技術(shù)。

在這UP主給大家分享資料,記得點(diǎn)贊收藏加關(guān)注喲~

鏈接:https://pan.baidu.com/s/1jkOg0eZP9anngoSRB0C-gg??

提取碼:68hf?


新手想掌握Python技能需要眾多Python項(xiàng)目練習(xí),適合項(xiàng)目有哪些?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
永兴县| 台南市| 宣武区| 襄汾县| 闽清县| 刚察县| 双桥区| 昌都县| 宜城市| 六枝特区| 松原市| 西盟| 青冈县| 托克托县| 辉南县| 长海县| 宜川县| 玉山县| 鄯善县| 高邮市| 田东县| 尚志市| 景宁| 芦山县| 公主岭市| 新田县| 息烽县| 乌审旗| 土默特右旗| 屏边| 林周县| 余江县| 阿拉善右旗| 五峰| 抚宁县| 石狮市| 观塘区| 临沂市| 荔波县| 溧阳市| 从化市|