Python趣味打怪:60秒學會一個例子,147段簡單程式碼助你從入門到大師 | 中文資源
- 2020 年 1 月 2 日
- 筆記
魚羊 發自 凹非寺 量子位 報道
人生苦短,編程苦手,不妨學起Python,感受一飛衝天的快樂。

不要害怕學習的過程枯燥無味,這裡有程式設計師jackzhenguo打造的一份中文Python「糖果包」:147個程式碼小樣,60秒一口,營養又好玩,從Python基礎到機器學習盡皆囊括。
入門簡單如十進位轉二進位,盡顯Python簡潔之美:
In [1]: bin(10) Out[1]: '0b1010'
冬天到了,就算沒有點亮手繪技能,也能用簡單幾行程式碼繪出漫天雪花:

例子是有趣的例子,教程也是正經教程,學習路徑清晰、系統,先一起來看看完整目錄:
學習路徑
施工完成: 1、Python基礎 2、Python字元串和正則化 3、Python文件 4、Python日期 5、Python利器 6、Python畫圖 7、Python實戰 施工中: Python基礎演算法 python 機器學習,包括機器學習的基礎概念和十大核心演算法以及Sklearn和Kaggle實戰的小例子 PyQt製作GUI Flask前端開發 Python數據分析:NumPy, Pandas, Matplotlib, Plotly等
教程開篇,先用82段簡單易懂的程式碼,介紹了Python的基礎語法、功能。由簡入繁,層層遞進。


掌握了基礎概念,就可以開始進一步深入學習了。比如字元串的處理。
其中,有常用知識的總結,隨查隨用:

從正則化起手式到簡單爬蟲的實現,也都一步步用程式碼鋪開:


△urllib為內置模組,推薦第三方庫requests
當然啦,學習Python,怎麼能忽略三大利器:迭代器,生成器,裝飾器。
你問啥是裝飾器?Talk is cheap,show you the code,比如寫一個測試運行時長的裝飾器:
#測試函數執行時間的裝飾器示例 import time def timing(fn): def wrapper(): start=time.time() fn() #執行傳入的fn參數 stop=time.time() return (stop-start) return wrapper @timing def test_list_append(): lst=[] for i in range(0,100000): lst.append(i) @timing def test_list_compre(): [i for i in range(0,100000)] #列表生成式 a=test_list_append() c=test_list_compre() print("test list append time:",a) print("test list comprehension time:",c) print("append/compre:",round(a/c,3)) # test list append time: 0.0219 # test list comprehension time: 0.00798 # append/compre: 2.749
感受到這顆語法糖的滋味了嗎~
跟隨這份教程,你還能60秒get精美圖表的生成方法:

60秒製作簡單動畫:

△歸併排序
學會用Python自動群發郵件:
import smtplib from email import (header) from email.mime import (text, application, multipart) import time def sender_mail(): smt_p = smtplib.SMTP() smt_p.connect(host='smtp.qq.com', port=25) sender, password = '[email protected]', "**************" smt_p.login(sender, password) receiver_addresses, count_num = [ '[email protected]', '[email protected]'], 1 for email_address in receiver_addresses: try: msg = multipart.MIMEMultipart() msg['From'] = "zhenguo" msg['To'] = email_address msg['subject'] = header.Header('這是郵件主題通知', 'utf-8') msg.attach(text.MIMEText( '這是一封測試郵件,請勿回複本郵件~', 'plain', 'utf-8')) smt_p.sendmail(sender, email_address, msg.as_string()) time.sleep(10) print('第%d次發送給%s' % (count_num, email_address)) count_num = count_num + 1 except Exception as e: print('第%d次給%s發送郵件異常' % (count_num, email_address)) continue smt_p.quit() sender_mail()
此外,雖然還未完工,機器學習部分作者也在積極建設中。
這一部分,不僅有基礎概念,還將加入十大核心演算法以及Sklearn和Kaggle實戰的小例子。

就像Python學習路上的一盒巧克力,60秒一口,讓你在一段段程式碼的實踐中體驗編程的樂趣,步步」打怪「進階。
如果你在學Python,不妨mark一下~
傳送門
GitHub: https://github.com/jackzhenguo/python-small-examples
PDF下載: https://github.com/jackzhenguo/python-small-examples/files/3992400/Python.V1.1.pdf
— 完 —

推薦閱讀
一行Python程式碼能實現這麼多喪心病狂的功能?(程式碼可複製)