當我一個非程式設計師開始寫代碼……

人民郵電出版社 發佈 2022-07-07T16:03:32.692946+00:00

一直以來,我以為編程都是程式設計師的事情,就像開發組的那些同事一樣,每天的工作就是開會,然後寫代碼。

一直以來,我以為編程都是程式設計師的事情,就像開發組的那些同事一樣,每天的工作就是開會,然後寫代碼。

直到我在部門重組後遇到了一個特大難題,從開發組那求得一本妙書《Python編程快速上手:讓繁瑣工作自動化 第2版》啃完並解決這個難題後,我才意識到:編程並不是程式設計師的專利,它真的能夠幫助普通人解決日常工作中的很多問題。

非程式設計師也能快速上手Python編程

01

新官上任三把火,還沒開始燒就被澆滅

部門重組,我成為了所在部門的新領導。開會確認職能任務之後,其他幾個同事的工作內容並沒有太大變化,似乎只是我多了一些新的工作要做。正當我躊躇滿志準備以新官上任三把火之勢點燃整個部門的工作熱情時,我收到了上級部門移交過來的資料——「一些」需要處理的表格、文檔等文件。

這部分資料立馬將我的「火」給澆滅了,還讓我對「一些」這個描述的認知產生了深深的懷疑:這幾千個表格文件真的不是開玩笑?甚至有的表格裡面還不止一張表?我立馬明確了一個目標:這肯定不是手動能搞定的工作,真手動我這個月啥都不用干光對著這些表格就會瘋掉的。

功夫不負有心人,問了一圈部門同事,又在網上搜索了一番文檔處理技巧,我電腦中多了好幾個軟體,Excel中也裝上了七八個插件。工欲善其事必先利其器,經過我的精心準備,這些看似浩瀚的工作還不是手到擒來?可惜現實又給了我一巴掌,直到聽到陸陸續續的下班打卡聲,我發現不看質量的話,我的工作完成了1%。

這一天都幹了些啥?

02

求得妙書一本,開始學習編程

第二天我痛定思痛,認為計算機相關的問題還是需要交給專業的人去解決,於是跑去開發組找經理老劉支招。不愧是經驗豐富的開發大神,聽完我的需求之後,他立馬給出了非常有效的解決方案:用Python寫幾個程序,自動化處理文件,很快就能搞好。

然後從他們的書架上抽出一本書《Python編程快速上手:讓繁瑣工作自動化 第2版》給我,說:你也可以學編程的,這本書非常適合你現在的情況,能夠讓你快速上手辦公自動化。

任務驅動,讓繁瑣的工作自動化

我選擇相信老程式設計師的建議,翻開了這本後來改變我對編程認識的好書。當看到書中前言第一句話的時候,我知道這本書很可能就是我當前困境的解決之法:

你在兩個小時裡完成的事,我們3個人要做兩天。

我現在的目標很簡單,就是要找到一個有效的方法去搞定那些量大得嚇人的文件,而這本書似乎就是專門為我量身定製的一樣。

處理那些文件的具體工作對於我來說非常簡單,有手就行,但是它們太費時間了!整個全做下來就算我是千手觀音都要忙活非常長的時間。繁瑣、枯燥、極度浪費時間,又沒有一個現成的軟體能夠把它們全部解決。

快速上手,純新手也能學會

我並不想成為一個專業的Python開發者,我只是想快速上手學會簡單的編程而已,在編程這塊我是一個純新手——編程到底是做什麼我都不太清楚,只知道是在寫代碼。

當看到阿爾•斯維加特——《Python編程快速上手》的作者——使用非常直白通俗的語言從編程的含義開始教授,並且告知不需要知道太多數學知識的時候,我真正意識到這本書完全是為我這樣的純編程新手準備的。

為了早日把我從那堆繁瑣的工作中解放出來,我開始編程學習之旅。

03

編程初探,難題解決在望!

在跟著書本內容從下載Python到安裝Mu編輯器,再到鍵入第一條命令,輸出第一個結果「Hello,world!」的時候,我發現編程的確很神奇,但是並不神秘。之後,我一字不落地認真閱讀書本內容,小心翼翼地輸入那些看起來非常簡單的命令,然後得到和書中同樣的答案——編程似乎很簡單嘛!

為什麼都是先寫「hello world」?

書的前半部分都是基礎內容,很快我學完了簡單的數據類型函數字符串操作結構化數據。認真地講,當時我是有點飄飄然,覺得自己掌握了不得了的技能!但是又有點茫然,對這部分內容又似懂非懂。詢問老劉之後,得到的回答是多寫代碼就好。

在學習後半部分自動化任務的時候,作為一隻腳趾踏入編程大門的我認識到後面的內容並不需要全部都學,只要學習其中關於Excel電子表格、Word文檔、PDF文檔幾個章節就可以。

而且,我驚喜地發現這本書其實是有配套教學視頻的!有時候看書可能還是不太清楚具體怎麼操作,通過視頻就能完全清楚每一步是要做什麼,會得到什麼結果。而且還有方便快捷的在線編程環境!用視頻加上書來學,事半功倍,效果非常好。

前面根本沒注意有配套視頻,多花了不少時間

不久,我就跟著教學視頻把後面相關的章節學完了,並著手用剛學會的Python技能來處理那些被我「冷落」了好些日子的巨量文件。成功發現文件!成功讀取文件!讀第3個表中的第二列,錯誤……認真檢查原來是標點符號錯了,問題不大,修改繼續!

04

成功得到一個新的表格,正是我想要的那個!

當真正開始自己分析問題、寫代碼時,我才發現做和學並不是一樣的簡單。好在我從書中學會了一套有效的搜索問題和提問的技巧,磕磕絆絆地把遇到的小問題都解決了。

儘管百十來行的代碼花費了我大半天的時間,但是它最後完成的任務卻完全值得這大半天。

05

解放雙手,讓辦公自動化

最終,我把所有的文件按照要求處理完畢,完美地完成了工作——遠離了繁瑣的重複勞動,並且收穫了非常多編程帶來的快樂。當代碼運行,新的表格出現在文件夾中時,我真的是又激動又開心,那份快樂的確是難以言說。

正如阿爾•斯維加特在書中所說:

本書不是針對這些人(專業軟體工程師),而是針對所有其他人的。

我就是所有其他人中的一員,我只需要解決具體的問題,並不需要成為專業的程式設計師。編程或者說Python剛好能夠解決我的問題,全面掌握的確是沒必要,快速上手並且寫出能夠解決實際問題的代碼才是更重要的

後來我把自己的代碼發給老劉跟他炫耀,他的評價是:這代碼也太醜了,好多地方不規範啊。但是能把問題解決也沒太大影響,自己用用挺好的。不過啥時候有興趣了,來我這拿兩本書,能讓你的代碼更好看,運行速度更快、效果更好。

這個倒是真的,阿爾•斯維加特在書中特意提到:

(本書中)編程風格有時候違反最佳實踐(例如有些程序使用全局變量),但這是一種方式,可以讓代碼更簡單,以便學習……本書主要考慮的是用最少的工作量得到能工作的程序。

無論如何,《Python編程快速上手:讓繁瑣工作自動化 第2版》這本書幫助我解決了實際問題,並且讓我獲得了非比尋常的快樂,它的確是一本非常值得的好書。如果你也是一個編程新手,並且想用Python做一些有趣又有用的事情,我推薦你讀一讀這本書,非常友好,非常簡單。


文章編輯:沙魚 審校:桐希 武曉燕 成歡

參考來源:

[1]阿爾•斯維加特.Python編程快速上手:讓繁瑣工作自動化 第2版[M].京:人民郵電出版社,2021.

—END—

關鍵字: