怎么自學(xué)python,大概要多久?
共 4734字,需瀏覽 10分鐘
·
2022-02-09 09:04
學(xué)編程語言有個(gè)小秘訣,直接上項(xiàng)目就是干,做完后你就是pythoner了。
不要怕沒有基礎(chǔ),邊做邊查邊學(xué),進(jìn)步很快的。
因人而異,一周或者一個(gè)月就能搞定。當(dāng)然需要足夠的投入。
以前我也覺得收集資料、啃語法、敲代碼是學(xué)python的套路,但這樣學(xué)效率太低。
你要知道python是一門腳本語言,不需要傳統(tǒng)的編寫-編譯-鏈接-運(yùn)行過程,語法簡答、執(zhí)行方便。
也就是說python像是個(gè)瑞士軍刀,可以寫出很多有用的小工具,隨寫隨用。
我在python專欄里寫了很多python應(yīng)用案例,其實(shí)大多是對(duì)新手友好的。
如果想少走彎路,不妨看看一些視頻課程。自制力比較差的小伙伴,跟著老師把python基礎(chǔ)走一遍,效率非常高。
現(xiàn)在市面上好多新出現(xiàn)的python課程,甚至原來做英語的也開始出python產(chǎn)品了,比如百詞斬的夜曲編程。我覺得這其實(shí)是件好事,說明學(xué)Python的人越來越多,大家的選擇更多元了。
看了夜曲里面的課程設(shè)置,基本是以實(shí)操訓(xùn)練為主,有基礎(chǔ)語法、數(shù)據(jù)分析、爬蟲、自動(dòng)辦公等等,還比較符合實(shí)用的需求。這有點(diǎn)類似國外的datacamp,實(shí)踐性很強(qiáng)。
夜曲會(huì)給零基礎(chǔ)提供免費(fèi)課程,20天的語法課+18道練習(xí)題;如果你想進(jìn)階學(xué)習(xí),他們也有付費(fèi)課程,更多的習(xí)題和實(shí)戰(zhàn)案例
現(xiàn)在都流行非IDE編程,夜曲的網(wǎng)站和app內(nèi)嵌了代碼編輯器,可以直接在網(wǎng)頁或手機(jī)上敲代碼并運(yùn)行,當(dāng)然我還是建議大家有能力自己裝IDE寫代碼。
大家可以去試試看,對(duì)照的語法書來學(xué),應(yīng)該很快可以入門。
關(guān)注后回復(fù)【夜曲入門111】即可獲得Python入門完整免費(fèi)教程,學(xué)習(xí)編程更輕松!下面介紹適合新手的python小項(xiàng)目:
貪吃蛇小游戲
用100行python代碼寫個(gè)貪吃蛇小游戲,也不復(fù)雜但涵蓋了大部分python語法。
項(xiàng)目地址:https://gitee.com/codetimer/Snake/blob/master/main.py
可以嘗試著先復(fù)制代碼運(yùn)行一遍,然后自己寫。
人臉識(shí)別
調(diào)用開源項(xiàng)目,只需要簡單的幾十行python代碼,就可以實(shí)現(xiàn)人臉識(shí)別。
從圖片里找到人臉:
配合其它的Python庫(比如opencv)實(shí)現(xiàn)實(shí)時(shí)人臉檢測:
項(xiàng)目地址:https://github.com/ageitgey/face_recognition
PS:對(duì)于小白來說自學(xué)也不是件容易的事,需要花相當(dāng)?shù)臅r(shí)間去適應(yīng)python的語法邏輯,而且要堅(jiān)持親手敲代碼,不斷練習(xí)。
如果對(duì)自己沒有自信,也可以考慮看編程課程,跟著老師的節(jié)奏去學(xué)習(xí),能比較快地掌握python語法體系,也能得到充分的案例練習(xí)。
網(wǎng)上的文章或帖子,可以作為參考,但其實(shí)不太適合充當(dāng)我們系統(tǒng)性的學(xué)習(xí)一門知識(shí)的教材,因?yàn)樗欠浅K槠闹R(shí),東一榔頭西一棒子,不成體系。
我最近看了一些學(xué)python的app,感覺都挺有創(chuàng)意,比如夜曲編程,原來百詞斬旗下的產(chǎn)品,他們把python學(xué)習(xí)變成了百題斬,通過一道道實(shí)戰(zhàn)題來鞏固語法知識(shí)。
關(guān)注后回復(fù)【夜曲入門111】即可獲得Python入門完整免費(fèi)教程!中文分詞&情感分析
這個(gè)也比較有意思,可以爬取電商評(píng)論數(shù)據(jù),然后分詞處理,并做情感分析,判斷好評(píng)、差評(píng)。
jieba可以用來做分詞處理
https://github.com/fxsjy/jieba
snownlp可以用來做情感分析。
import snownlp
sentense = '''親,第一天秒殺買,比第二天的正常價(jià)還高,
說保價(jià)7天申請(qǐng)售后說退差價(jià)也比不退,你們還有信譽(yù)嗎
'''
result = snownlp.SnowNLP(sentense)
a = result.words # list
b = result.sentiments # float
print("%.2f" % b)
https://github.com/isnowfy/snownlp
車型識(shí)別
這里使用python調(diào)用百度的車型識(shí)別模型,只要導(dǎo)入車輛圖片可以自動(dòng)識(shí)別車型。
import requests
import base64
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
# 輸入你的api_key和secret_key,獲取地址https://console.bce.baidu.com/ai
api_key = ''
secret_key = ''
url = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + str(api_key) + '&client_secret=' + str(secret_key)
res = requests.get(url).text
a = eval(res)
access_token = a['access_token']
animal = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/car?access_token=' + str(access_token)
header = {
'Content-Type':'application/x-www-form-urlencoded'
}
data = {}
with open('timg.jpg', 'rb') as f:
image = base64.b64encode(f.read())
data["image"] = str(image, 'utf-8')
res2 = requests.post(url=animal,data=data, headers=header).text
print('顏色:',eval(res2)['color_result'])
print('車型預(yù)測')
for each in eval(res2)['result']:
print(each['name'], '\t相似度:', each['score'])
plt.imshow(mpimg.imread(f))
plt.show()
用Python實(shí)現(xiàn)所有常見算法
這個(gè)項(xiàng)目包含了上千個(gè)算法的Python代碼實(shí)現(xiàn),幾乎囊括了大部分常見算法。
包括回溯、布爾代數(shù)、元胞自動(dòng)機(jī)、線性回歸、圖算法、網(wǎng)絡(luò)流等等
以排序?yàn)槔擁?xiàng)目提供了近50種算法,比如下面的樹形選擇排序:
"""
Tree_sort algorithm.
Build a BST and in order traverse.
"""
class node:
# BST data structure
def __init__(self, val):
self.val = val
self.left = None
self.right = None
def insert(self, val):
if self.val:
if val < self.val:
if self.left is None:
self.left = node(val)
else:
self.left.insert(val)
elif val > self.val:
if self.right is None:
self.right = node(val)
else:
self.right.insert(val)
else:
self.val = val
def inorder(root, res):
# Recursive traversal
if root:
inorder(root.left, res)
res.append(root.val)
inorder(root.right, res)
def tree_sort(arr):
# Build BST
if len(arr) == 0:
return arr
root = node(arr[0])
for i in range(1, len(arr)):
root.insert(arr[i])
# Traverse BST in order.
res = []
inorder(root, res)
return res
if __name__ == "__main__":
print(tree_sort([10, 1, 3, 2, 9, 14, 13]))
? 2021 GitHub, Inc.
其他排序:
項(xiàng)目地址:TheAlgorithms/Python
其他還有很多可以實(shí)操的小例子
干貨 | 解放雙手,用Python實(shí)現(xiàn)自動(dòng)發(fā)送郵件教你使用Python制作酷炫二維碼如何使用python連接數(shù)據(jù)庫?教你使用Python下載b站等各大主流網(wǎng)站音視頻如果想看書學(xué)習(xí),之前我也寫過一些推薦
入門python有什么好的書籍推薦?基礎(chǔ)語法看教程確實(shí)夠了,但有的人會(huì)覺得枯燥,學(xué)東西還得有趣不是。
那就推薦去B站找找視頻,搜python,排名靠前的教程都還不錯(cuò)。
有人在問買什么書看,我一向都是看網(wǎng)上教程的,新手非要看書的話,是有那么兩三本。
零基礎(chǔ)可以看python編程從入門到實(shí)踐,書后面有不錯(cuò)的案例。
還有一本是注重實(shí)踐、解決問題的書,叫作python讓繁瑣工作自動(dòng)化,適合有點(diǎn)基礎(chǔ)的選手。該書是從爬蟲、自動(dòng)化表格、郵件收發(fā)、桌面控制等角度來寫的,比較貼合日常工作場景。
還有一本比較好的是python cookbook,是本工具書,而非語法書。
工具書當(dāng)然是為了解決問題,所以cookbook的風(fēng)格就是對(duì)癥下藥,先提問題再講方法。
這本書不太適合小白看,因?yàn)槔锩娓拍畋容^多。
如果你英文好的話,當(dāng)然首選看英文版,表達(dá)更精確。
https://ipython-books.github.io/
也有中文版,看起來不費(fèi)勁。
https://python3-cookbook.readthedocs.io/zh_CN/latest/index.html
紙質(zhì)也出版了。
好了,說的有點(diǎn)多。
看到這里,大家不要忘了關(guān)注朱衛(wèi)軍哦,還寫了好多好多好多~
