1. 程式人生 > >Python趣味入門01:你真的瞭解Python麼?

Python趣味入門01:你真的瞭解Python麼?

小牛叔傾情出品,史上更簡單有趣的Python入門系列教程,用認真、上心的原創帶你飛。

0、Why Python ?

什麼入門用python,其實這和它的氣質有關,根據CHM(計算機歷史博物館)網站介紹[1],Van Rossum 曾經在1999年陳述過創造Python的動機,“她”應該是這樣:

- “她” 簡潔而直觀,功力卻能比肩同僚。
- “她” 坦誠而開源,方能博採眾家所長。
- “她” 親切而易懂,孩童級的英語足矣。
- “她” 貼心而實用,日常雜事速戰速決。
—放羊的小牛叔

 

 

Guido: 我說過這麼優美的詩?

 

Guido Van Rossum 的初心原話:

It should be an easy and intuitive language, just as powerful as major competitors.
It should be open source, so anyone can contribute to its development.
Its code should be understandable as plain English.
It should be suitable for everyday tasks, allowing for short development times.

你是不是已經開始傾心於“她”了呢?

可以說Python就是在程式設計芸芸世界裡,專修語言類專業,十八般功夫具全,並且養眼的小學妹。

  王者貂蟬

Who am I?

貂蟬:想欣賞親身的舞姿麼?

不好意思有點辣眼睛,肯定是小編搞錯了,王者裡的貂蟬-略做作、略官宦、功夫略專業了點(e~~),真正能代表Python江湖地位的只有這貨了,精通72變的-齊天大聖!非官方出品,真正草根出身,衣冠整潔而技能超多。

  悟空:俺老孫來也

1 Python江湖地位 ?

從IEEE Spectrum 網站[2]上證實,Python已然是最流行的程式語言,有圖為證。

  程式語言排名

IEEE Spectrum網站(建議收藏https://spectrum.ieee.org)是行業的大拿,希望入門後各位漢子(包括女漢子)們能在它的期刊上發幾篇論文,給自己的院士之路多新增幾塊磚。

2、怎麼盤她?

到底Python的功夫有多少?我們怎麼盤她比較好吶?我們來細數一下,以下列出的應用都是非常成熟的應用。

2.1 遊戲開發

微軟著名的“我的世界” Minecraft教育版(可執行在“樹莓派”上)即mini版,是使用Python編寫的。使用Python來控制遊戲當中的角色的動作、物品,程式設計創造遊戲環境。

PS: 如果你感興趣,請在本文後留言,本系列結束後,將會重磅推出我的世界系列!

https://education.minecraft.net/

  使用Python構建環境

著名的遊戲 Sid Meier's Civilization就是使用 Python 開發的(文明4),遊戲的引擎使用的還是C++,使用Python開發遊戲的邏輯層。

  文明

本系列教程,將會涉及遊戲的製作。需要使用到pygame遊戲引擎,在這裡牛粉們可以提前預習一下pygame網站。
https://www.pygame.org/

2.2 智慧機器人

在智慧裝置方面,即使是運算效能比較弱的Arduino智慧晶片也可以以多種方式使用Python,(1)使用Python編寫“上位機”程式(即機器人的大腦)在電腦上執行程式控制裝置(2)採購支援CircuitPython、MicroPython等晶片,像標準的C語言一樣對微處理器直接進行程式設計,把程式直接寫進晶片。

像樹莓派等那些可以執行linux系統的嵌入式裝置早已經可以執行Python。

這是機器人學習的推薦網站,https://mc.dfrobot.com.cn/,很多中小學的機器人比賽都使用他家的零件,有興趣可以好好研究。

  誰說python不能當彙編用

2.3 爬蟲和黑客

Python本身對於訪問網路具有天然的優勢,它有眾多的元件,(1)可以控制本機上瀏覽器實現模擬真人點選與訪問(用來訪問具有複雜Javascript程式的網站比如什麼小遊戲網頁)(2)也可以直接使用http\tcp\ftp\smtp等等網際網路協議來直接訪問一般的網頁或是網路上的各種服務。在網上一找爬蟲,又出來那麼多辣人眼球的結果,百度,我只是一個單純的孩子呀!

  image.png   image.png

2.4 建立網站

“不能光爬別人網站,分享才會讓世界更美好!”,Python有眾多建立網站的工具,django這套框架是以比利時的吉普賽爵士吉他手Django Reinhardt來命名的。建立網站只需要幾個命令就可以搞定。https://www.djangoproject.com/ 以後估計是大家的常用工具,相信不久你就會擁有自己的網站。

2.5 其它

python已經整合進入了linux系統並且成為了命令列的一部分。傳說網易大部分網遊都是Python寫的,由於現在的遊戲開發引擎基本上是外包或是使用成熟的引擎,遊戲的邏輯層更加地重要。

Python的被battle的最多的就是它的執行速度與效率,所以火箭、核電站、ICU呼吸機、大型3D遊戲引擎等等類似的裝置和應用不會使用它,基本上其它任何地方都有它的影子。

目前看來,純手機端使用python還非常少。不過,目前也有使用Python做手機App的元件,python Kivy就可以使用寫同時運行於Window,Mac OS, IOS, Android平臺的的基於GUI的程式,但是易用性也挺不錯。

3、她 的美

你在我心中是最美
只有相愛的人最能體會
你明瞭 我明瞭
這種美妙的滋味

-羽泉《最美》

想到Python的美小牛叔不襟吟唱起了90後最喜歡的這首歌... ...

在CSDN[3](這是中國程式設計師經常交流的網站,建議收藏https://blog.csdn.net/)的高人處拷貝了幾行程式碼,進行了比較。

Python的語句非常整齊的,擁有同樣對齊(縮排)的語句,能明顯看出來是“一夥的”。對!很高興你學習到了程式設計的第1個知識點:程式碼塊( Code Block)。同一塊中的程式碼要麼一起被執行,要麼因為條件判斷或是迴圈不被執行。

  整齊的程式碼

而很多其它語言(Javascript、C#、 C、C++、Java等等)都是使用了成對的花括號作為程式碼塊的標誌,以分號作為語句結束的標誌,我們來看看效果(好處是如果你是高手在寫一個Windows作業系統,完全把上百萬行的程式碼寫成一行):

  image.png

折磨初學者... ...

傳說1989年在一個夜黑風高的聖誕夜, Guido大叔在掰腳趾頭算C語言花括號時,受到了ABC語言的啟發,立刻就停止了摳Jo的動作,說了一句“F**k 花括號!我要創造一個沒有花括號的語言!”,就開始埋頭使用C語言並且使用了海量的花括號來創造了Python!

4 她 的實用

非誠勿擾的孟爺爺告訴過男嘉賓,勾搭的物件應該是這樣子滴:小姐姐即要漂亮也得會持家過日子。python的程式漂亮極了,可實用麼?

我們看看C#(java可能程式碼更長)完成如下的任務的程式碼。

任務:
以POST方式向某網頁提交資料(說大白話就是類似於模擬我們填使用者名稱密碼然後按提交按鈕),並獲得網站反饋。

下面是C#的程式碼(14行),當然你可以首尾相接全寫成1行,不過按分號算程式碼量還是按14行計薪酬(哦我放心了)。

  14行程式碼完成1個功能

再來看看,這是Python的程式碼:

  python完成任務只有1種方式

我們從這位Guido老叔開始,也從他結束,欣賞一下他的豔照,感謝一下他給我們帶來了“她”。

  F8DC6CD2-0C18-422A-A59A-AB4AC2506D28.png

看見他的T恤上寫了什麼中文麼:

 

★ 人生苦短 我用Python ★

 

關注作者,可以持續獲得文章提示!

&nbs