在學(xué)習(xí)完P(guān)ython的基礎(chǔ)知識(shí)之后,有很多朋友為自己接下來(lái)要干什么感到迷茫。不知道應(yīng)該通過(guò)什么樣的項(xiàng)目來(lái)鍛煉自己編程水平和思維能力。接下來(lái)我就給大家說(shuō)幾個(gè)適合Python的新手項(xiàng)目和練手項(xiàng)目,Python練手項(xiàng)目有哪些 跟我往下看。以下是小編為你整理的python3開(kāi)發(fā)教程 ?
Web方向的練手項(xiàng)目 ?
這個(gè)其實(shí)是肯定不用多少的了。Python的練手項(xiàng)目就是可以做一個(gè)網(wǎng)站了。我們可以做一個(gè)屬于自己的博客。在做博客的時(shí)候,我們可以鞏固的知識(shí)點(diǎn)是 ?
Html+CSS+JS的基礎(chǔ)知識(shí),以及熟練的運(yùn)用Python的Web開(kāi)發(fā)框架(例如Django或者Flask)做出一個(gè)屬于自己的網(wǎng)站。
?
做一個(gè)網(wǎng)絡(luò)數(shù)據(jù)抓取工具 ?
也就是我們常說(shuō)的網(wǎng)絡(luò)爬蟲(chóng)。可以找到一個(gè)自己喜歡的網(wǎng)站。試著抓取一些網(wǎng)站數(shù)據(jù),在抓取數(shù)據(jù)的過(guò)程中,你會(huì)遇到例如 反抓取 需要登陸 驗(yàn)證碼驗(yàn)證以及IP檢測(cè)等多種問(wèn)題。但這恰恰不就是提高的過(guò)程么。或許,你也可能寫(xiě)一個(gè)自己的“小百度”呢、 ?
做一個(gè)圖像識(shí)別的項(xiàng)目 ?
不要覺(jué)得太難。我們可以從一個(gè)簡(jiǎn)單的項(xiàng)目開(kāi)啟。驗(yàn)證碼就是一個(gè)圖片。我們是不是可以試著識(shí)別一下驗(yàn)證碼上面的文字?不要覺(jué)得麻煩,也不要覺(jué)得太過(guò)簡(jiǎn)單。所有復(fù)雜的事情都是從簡(jiǎn)單開(kāi)始的。學(xué)習(xí)驗(yàn)證碼識(shí)別對(duì)于我們寫(xiě)網(wǎng)絡(luò)爬蟲(chóng)是不是特別有用呢?在后期深入的過(guò)程中,你還可以做一個(gè)圖像識(shí)別軟件。 ?
做一個(gè)Python聊天機(jī)器人 ?
是不是覺(jué)得現(xiàn)在手機(jī)軟件中的智能聊天軟件很神奇。你同樣可以做一個(gè)屬于自己的聊天機(jī)器人。前期我們可以做一個(gè)應(yīng)答式的,也就是所有的會(huì)話就是存儲(chǔ)在數(shù)據(jù)庫(kù)中。后期的話可以學(xué)習(xí)人工智能學(xué)習(xí)。讓你的機(jī)器人更加智能。 ?
指令的調(diào)用
有的時(shí)候我們可以有其他的方法需要調(diào)用類中的信息,但是每次都執(zhí)行一次就會(huì)感覺(jué)很繁瑣 比如: ?
def Print_score(std): print ('%s:%s'% (std.name ,std.score))print Print_score(bat) ?
上面我們可以看出通過(guò)定義成績(jī)表我們調(diào)用到了學(xué)生的姓名和成績(jī),我們可以通過(guò)函數(shù)來(lái)訪問(wèn)這些數(shù)據(jù)。但是每個(gè)實(shí)例都有的話執(zhí)行起來(lái)就要寫(xiě)很多的代碼。我們可以通過(guò)封裝的方式把類中需要的給直接封裝在類中進(jìn)行調(diào)用。 ?
好的 是這樣,我們可以從外部直接調(diào)用類中的方法。相當(dāng)于是封裝了邏輯,直接在類的內(nèi)部定義好了,調(diào)用會(huì)感覺(jué)比較容易。封裝的另外一個(gè)好處,我們可以給Student這個(gè)類增加新的方法,比如get_grade: ?
def get_grade(self): if self.score > 90: return 'A' elif self.score >= 60: return 'B' else: return 'C' ?
python應(yīng)用特性
數(shù)據(jù)類型 ?
常用的數(shù)據(jù)類型:數(shù)字(number),字符串(string),list(數(shù)組),tuple(元組),dict(字典) ?
數(shù)字(number) ?
數(shù)字主要有:int(有符號(hào)整型),long(長(zhǎng)整型),float(浮點(diǎn)數(shù)),complex(復(fù)數(shù)) ?
var1 = 1(int) ?
var2 = 51924361L(long) ?
var3 = 1.2(float) ?
var4 = 3e+26J(complex) ?
字符串 ?
字符串是使用單引號(hào)或者雙引號(hào)標(biāo)識(shí)起來(lái)的,單引號(hào)或者雙引號(hào)內(nèi)部可以放數(shù)字、字母、下劃線 ?
str1 = "123456789" ?
str2 = '我們都在學(xué)Python'
?
數(shù)組和元組 ?
List(列表)和Tuple(元組) 是 Python 中使用最頻繁的數(shù)據(jù)類型。 ?
列表可以完成大多數(shù)集合類的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)。它支持字符,數(shù)字,字符串甚至可以包含列表(即嵌套)。 ?
列表用 [ ] 標(biāo)識(shí),是 python 最通用的復(fù)合數(shù)據(jù)類型。 ?
元組用()標(biāo)識(shí) , 內(nèi)部元素用逗號(hào)隔開(kāi)。但是元組不能二次賦值,相當(dāng)于只讀列表。 ?
List(列表)和Tuple(元組) 區(qū)別:List是可變序列,Tuple是不可變序列 ?
說(shuō)白了就是List增刪改查都可以,但是tuple只能查看(不可變嘛) ?
字典 ?
字典嘛,就是根據(jù)鍵(key)去查找值(value) ?
?
import random
n = random.randint(1, 100) # 生成隨機(jī)數(shù)
time = 6 # 猜數(shù)字的次數(shù)
guess = 0 # 輸入的數(shù)字
minNum = 0 # 最小隨機(jī)數(shù)
maxNum = 100 # *隨機(jī)數(shù)
print("---------1-100猜數(shù)字游戲---------")
while guess != n and time >= 0: # 條件
guess = int(input("*1-100,請(qǐng)輸入數(shù)字:"))
print("你輸入數(shù)字是:", guess)
# if語(yǔ)句后接冒號(hào)
# 以四個(gè)空格的縮進(jìn)來(lái)表示隸屬關(guān)系
# if條件為假,跳過(guò)后面,檢測(cè)elif條件,如果為假,執(zhí)行else。
if guess == n:
print("恭喜你,猜對(duì)了")
elif guess < n:
minNum = guess
print("數(shù)字低了,請(qǐng)繼續(xù):", minNum, "-", maxNum)
else:
maxNum = guess
print("數(shù)字高了,請(qǐng)繼續(xù):", minNum, "-", maxNum)
print("你猜錯(cuò)了,你還有", time, "次機(jī)會(huì)")
time -= 1
print("游戲結(jié)束")