還是那句話:「編程是這個時代跟英語一樣重要的第二語言」。
本篇文章閱讀難度偏高,0基礎的童鞋可以回去讀我的歷史文章裡面有介紹如何利用一些簡單的app輕鬆「編程」,比如手機上的IFTTT, Workflow 以及Mac上的Automator,都是比較入門的編程。
回到正題。
Python,跟C,Java一樣是一門計算機語言。 這個語言近幾年非常火,如果你要問它到底比別的語言哪裡更好,知乎上面有非常多的答案,我這裡只用一點來闡述: 你可以在完全在手機上通過Python寫出一個獨立的遊戲。這也就意味著如果你能力夠強大的話,你需要什麼app完全可以自己動手豐衣足食。
實現這一切只需要通過一個app: Pythonista
這個app並非免費,售價RMB68。 作為一個app這個價格不低,但作為一個開發平臺,這個app的潛力卻是遠高於這個售價。下面我將用一堆慄子給大家介紹。
這個app可以完全在手機上運行,但很顯然用iPad+藍牙鍵盤是更舒適的搭配。為了方便我用iPad進行示範。
打開界面如上,非常簡潔明了。 左邊代碼右邊控制臺。
接下來我將通過這個app自帶的一些例子給大家看看它到底有多強大。點擊左上角的三條橫線,打開 範例文件夾(Examples)
可以看到開發者非常用心的給我們提供了各種不同類型的例子。 比如有動畫,插件,遊戲,實用app,畫圖等等。 先來看看動畫(Animation)裡的第一個程序:模擬時鐘(AnalogClock.py)。
我們只需要點擊右上角的三角形運行這個代碼即可看到效果:
可能你會覺得這並沒有什麼意義,不就是看一面鍾嘛? 但稍微進行衍生一下也許可以變得更實用。比如可以簡單修改一下變成一個自動顯示文字圖片的廣告牌? 又或者你有個特殊的需求要一個比正常快2倍速度的鐘,你找遍app store也找不到符合你要求的app,那你在這個代碼裡面稍微改一下速度即可。
動畫(Animation)裡面還有其他的例子比如神奇文字等等大家可以自己下載下來試一試。 我們把篇幅留給後面更厲害的🌰。
例子裡面第二類是 擴展插件 (Extension)。 這類代碼是不能直接在這個app裡面跑的,而是在其他app裡用的。 什麼意思呢? 我們看下面這個 文字統計插件(Text Statistics)。 大概的功能就是計算字數,段數等。 怎麼用呢? 首先你需要文字來進行統計。 那麼我們打開自帶的筆記本app, 然後隨便在裡面輸入一段文字。 之後點擊右上角的分享按鈕。
可以看到左下角那個圖標就是我們的Pythonista, 點擊它。 (如果是第一次用的話需要滑到最右邊點擊『更多』然後把Pythonista打開)
可以看到下面的5個app分別都是擴展插件(Extension)裡面的例子。 那麼我們點擊文字統計(Text Statistics),結果如下:
非常方便。 類似的,其他的擴張插件例子還可以:
- 選擇一張照片然後可以給出拍攝位置或者是顏色參數(攝影相關)
- 把一個網頁地址轉換成二維碼等等。
接下來一類程序跟擴展插件有點類似,但是既不需要從別的app裡面打開,也不需要從Pythonista裡面打開就能用。
這個叫做通知欄插件,就是把寫好的代碼放到手機或者iPad的通知欄裡面。 你可以從任何地方下拉通知欄,然後向右滑即可看到插件。
你在通知欄裡面:
-使用計算器-
-查看複製的內容
-快速打開別的app
-查看最近的照片
-擲骰子
-查看IP位址
你可以在設置裡面選擇你想放哪些在通知欄,我選了IP位址那個,效果如下:
接下來是重頭戲:在手機上開發遊戲!
我們打開例子裡面的遊戲文件夾,然後打開並運行打磚塊(BrickBreaker.py)。 你現在看到的整個界面,遊戲規則等等全部都是完完全全可以在一臺手機上寫出來的。 在幾年前的話真的很難想像一部手機可以變得如此強大。
如果你基礎好的話完全可以看懂這個遊戲的代碼並且按自己喜歡的方式修改,比如5個球一起玩,下面的託盤變成無限長等等😂
到這裡已經足以看出這個app的潛力無限,比什麼微信小程序高到不知道哪裡去了 [捂臉] 。 但我還是簡單把其他幾個實用的例子給大家看看吧:
畫3D圖
寫一個簡單的計算器
- 生成gif動圖
- 一鍵打出聯繫人的生日
- 一鍵給照片上濾鏡
- 一鍵獲取NASA的每日照片(image of the day)
- 查看電池信息
- 相機掃描文檔
- 獲取音樂庫信息
- 屏幕亮度等等
畫各種圖形:3D,餅,柱狀圖等等
最後一個例子是我自己這兩天在寫的機器學習(Machine Learning)作業。 我一開始是用Matlab做。Matlab確實非常方便好用,但是比較累贅:必須要電腦才能運行(確實有手機版,但也是通過雲端電腦來計算而且功能不全),另外Matlab處理效率也不是很高。所以我想要能隨時隨地在手機上寫一寫代碼那感覺應該很棒。 於是花了兩天時間把我之前的作業用Python簡單重新寫了一遍,感覺非常好。雖然性能肯定比不上電腦,但是卻還是在可以接受的範圍內,這已經讓我很滿足了。
很簡單的一個算法。 右邊是輸出的結果可以非常簡單畫出來。
除了以上所有的例子,Pythonista 還能做什麼完全是取決於你的想像力。同樣的,一臺電子設備有多少價值也完全是取決於使用它的人。
謝謝閱讀!
來源:
均來自Pythonista截圖