我勸你學(xué)點(diǎn)編程拷橘,很簡單的

朋友局义,來coding吧!

學(xué)習(xí)編程不僅在于可以解決當(dāng)前的什么問題冗疮,更在于對自己思維方法的改變萄唇。

編程替代重復(fù)性勞動(dòng)

編程能替代工作或生活中的大量重復(fù)性勞動(dòng)。

比如偶爾偏離生活的軌道赌厅,真的是壞事嗎穷绵?中的事例。

比如前一段我們有個(gè)工作是進(jìn)行機(jī)構(gòu)分類特愿,查詢文本文件中的機(jī)構(gòu)是否為私募基金管理人仲墨。方法是在私募基金管理人綜合查詢網(wǎng)站中輸入機(jī)構(gòu)名稱點(diǎn)擊查詢勾缭。但是有幾十上百家機(jī)構(gòu)的時(shí)候,手動(dòng)從文件中復(fù)制再粘貼到網(wǎng)頁中查詢目养,是非常低效的俩由。這時(shí)候,如果你懂點(diǎn)爬蟲知識癌蚁,只需要一段代碼即可:

import requests  
import json

headers = {
    'Host': 'gs.amac.org.cn',
    'Origin': 'https://gs.amac.org.cn',
    'Referer': 'https://gs.amac.org.cn/amac-infodisc/res/pof/manager/index.html',
    'Sec-Fetch-Dest': 'empty',
    'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Site': 'same-origin',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',
    'X-Requested-With': 'XMLHttpRequest'
}

url = 'https://gs.amac.org.cn/amac-infodisc/api/pof/manager?rand=0.7119720626937933&page=0&size=10'

data = {
    'rand': '0.7119720626937933',
    'page': '0',
    'size': '10'
}

with open('私募基金.txt','r',encoding='utf-8') as f:
    print('以下機(jī)構(gòu)不是私募基金:')
    is_pe = True
    for org in f.readlines():
        org = org.strip()
        payloaddata = {"keyword":org}
        dumpJsonData = json.dumps(payloaddata)
        r = requests.post(url,data=dumpJsonData,headers=headers)  
        if r.text.replace(r'</em>','').find(org) == -1:
            is_pe = False
            print(org)
    if is_pe:
        print('無')
運(yùn)行結(jié)果

這都是學(xué)習(xí)編程能帶給人們顯而易見的好處幻梯,也是非科班選手進(jìn)入編程世界的原因,學(xué)習(xí)編程在這方面也確實(shí)可以給人滿意的回報(bào)努释。

Python 為例碘梢,近些年 Python 的流行,對編程的普及起到了極大的推動(dòng)作用伐蒂。更多沒有接觸過編程的人也能偶爾寫段代碼解放自己的雙手煞躬。 Python 語法接近自然語言,入門簡單逸邦,但是功能卻很強(qiáng)大恩沛,所謂

Python 除了不能幫你生孩子,什么都能做缕减!

雖然 Python 也有其缺點(diǎn)雷客,如入門簡單精通卻很難,如優(yōu)秀的庫太多不知如何取舍桥狡,如運(yùn)行效率不如 C / Java 等搅裙。但是對于非科班想要利用編程工具解決一些實(shí)際問題的人來說,這都不是問題总放。所以我認(rèn)為呈宇,非科班的初學(xué)者最好的入門語言就是 Python

入門簡單精通很難

對于很多生活中的應(yīng)用場景來說局雄,編寫簡單的 Python 代碼即可甥啄,根本不需要很精通。況且炬搭,Python 生態(tài)圈很活躍蜈漓,網(wǎng)上有大量的現(xiàn)成代碼,只需稍加修改即可應(yīng)用到自己環(huán)境中宫盔。

我開始入 Python 的坑是因?yàn)橄肱廊《拱陥D書融虽、電影的數(shù)據(jù)。我的學(xué)習(xí)路徑是先學(xué)習(xí) Python 最基礎(chǔ)的概念灼芭,就是數(shù)據(jù)類型和函數(shù)有额。對面向?qū)ο蟮母拍钪蛔隽俗罨A(chǔ)的了解,就是別人寫的時(shí)候我大概知道那是在干嘛,但是自己寫是寫不出來的巍佑。

這些了解之后茴迁,我就直接在網(wǎng)上找免費(fèi)的爬蟲視頻教程。那時(shí)候B站上的教學(xué)視頻還沒有那么流行萤衰,資源很少堕义,我就找了一個(gè)爬取新浪博客的教程跟著敲代碼,熟悉基礎(chǔ)的操作脆栋。說到這兒倦卖,初學(xué)者我還是很建議跟著視頻操作或者有人帶,因?yàn)閷τ诰幊坛鯇W(xué)者來說椿争,上來就看書可能會遇到很多細(xì)節(jié)上的問題怕膛。這些問題對于老手來說,可能以為不用解釋秦踪,但是對于初學(xué)者來說嘉竟,就可能是邁不過去的天大的坎。

視頻中爬蟲非常簡單洋侨,沒有用任何框架,甚至文本解析也沒有用常見的第三方庫如 BeautifulSoup 等倦蚪,直接用的 find 函數(shù)查找關(guān)鍵字希坚。這樣的好處就是學(xué)習(xí)門檻很低,沒有任何理解障礙陵且,特別適合于沒有任何編程經(jīng)驗(yàn)的初學(xué)者裁僧。

我在學(xué)了這個(gè)視頻教程之后,又閱讀了幾篇爬蟲相關(guān)的博文慕购,就開始爬豆瓣電影聊疲,沒想到很快成功了,這給了我極大的信心沪悲。在學(xué)習(xí)的初期获洲,信心也許是最寶貴的東西。雖然后來由于爬取量大殿如,需要把數(shù)據(jù)裝到數(shù)據(jù)庫中贡珊,又學(xué)了點(diǎn) MongoDB 的操作;由于擔(dān)心多次爬取被豆瓣封IP涉馁,又簡單了解了使用代理门岔;由于使用 find 函數(shù)解析文本代碼量太復(fù)雜,又學(xué)習(xí)了正則表達(dá)式烤送,等等寒随。

這些后續(xù)學(xué)習(xí)的內(nèi)容包括最開始學(xué)習(xí)的 Python 基礎(chǔ)概念,都是走實(shí)用主義路線,只要做成想要的效果即可妻往,學(xué)得并不精通互艾。這也導(dǎo)致同樣的東西我后來又多次學(xué)習(xí)。但是這樣做的好處就是可以及時(shí)得到正面的反饋蒲讯,很有成就感忘朝,也就獲得了繼續(xù)下去的動(dòng)力。而且判帮,前期雖然學(xué)得不扎實(shí)局嘁,但是對于后期的再學(xué)習(xí)也還是有潛移默化的幫助的。

當(dāng)然還有一種學(xué)習(xí)方法是上來就系統(tǒng)性地學(xué)習(xí)晦墙,學(xué)扎實(shí)悦昵。兩種方法各有優(yōu)劣,適用于不同的人群晌畅,此處不做比較但指。

要學(xué)習(xí)哪個(gè)庫

Python 火起來的一大重要原因就是擁有各個(gè)領(lǐng)域的大量優(yōu)秀的庫。這些直到我將 Python 大量應(yīng)用到生活抗楔、工作中后棋凳,才有更深的體會。

  • 想操作PDF连躏,有PyPDF2剩岳、pdfplumber等,PDF文件的分割入热、合并拍棕、加解密、文字提取等都不是事勺良。
  • 想做數(shù)據(jù)處理绰播,numpyPandas 肯定是首選尚困。
  • 想做爬蟲蠢箩,RequestsBeautifulSoup等庫也是必學(xué)的事甜。而且忙芒,作為pythonic的優(yōu)秀代表,Requests庫的源碼也是進(jìn)階學(xué)習(xí)的好素材讳侨。
  • ……

很多初學(xué)者的面對大量的 Python 庫會感到眼花繚亂呵萨,感覺要學(xué)習(xí)的太多,擔(dān)心自己堅(jiān)持不下去跨跨,于是就勸退了潮峦。

但實(shí)際上囱皿,這些常用庫基本都有相應(yīng)的demo,稍加修改即可應(yīng)用到自己的項(xiàng)目中忱嘹。所以嘱腥,豐富的庫非但不是累贅,反而可以給自己帶來極大的便利拘悦。

我以前也稍微用過 VBA 齿兔,但一直不喜歡它的編輯環(huán)境,所以使用次數(shù)并不多础米,只是在實(shí)在無法用別的方式實(shí)現(xiàn)的時(shí)候才勉強(qiáng)寫幾行代碼分苇。

但是 Python 給了我另一種選擇,可以擁有漂亮的編輯器屁桑,如 VS Code医寿、Sublime Text 等,還用于遠(yuǎn)比 VBA 好用得多的代碼補(bǔ)全等功能蘑斧,這也是我一開始想學(xué)習(xí) Python 的原因靖秩。至于用于豐富的庫,對于小白的我竖瘾,其實(shí)是沒有啥感覺的沟突。

但是后來隨著學(xué)習(xí)的深入,用 Python 做的事情也越來越多捕传,才漸漸體會到豐富的庫所帶來的優(yōu)勢事扭。

我認(rèn)為對于初學(xué)者來說, Python 相比于 VBA 乐横,最大的優(yōu)勢就是簡潔,這種簡潔一方面基于 Python 語言本身的一些特質(zhì)今野,比如好用的基礎(chǔ)數(shù)據(jù)類型如 list葡公、dict 等,另一方面就是得益于大量的庫条霜。

如果你不理解庫是什么催什,你可以認(rèn)為是工具箱,或者是零件庫宰睡,是別人將常用的功能組裝好蒲凶,你寫程序時(shí)可以直接一句話調(diào)用的東西。

舉個(gè)可能不太恰當(dāng)?shù)睦硬鹉凇R汛笙笱b冰箱旋圆,需要怎么操作?

  1. 打開冰箱麸恍;
  2. 把大象放進(jìn)冰箱里面灵巧;
  3. 關(guān)上冰箱門搀矫。

VBA 實(shí)現(xiàn),你需要吭哧吭哧從底層實(shí)現(xiàn)怎么開冰箱刻肄,怎么拖動(dòng)大象到冰箱里瓤球,怎樣關(guān)冰箱門。

而有了庫的幫助敏弃,你可以直接關(guān)注業(yè)務(wù)邏輯層面的問題卦羡,即只需要關(guān)注上面三步。至于每一步怎么實(shí)現(xiàn)麦到,庫已經(jīng)幫你做好了绿饵,你只需要調(diào)用即可。這無疑大大減輕了初學(xué)者進(jìn)入編程世界的門檻隅要。

運(yùn)行效率問題

不可否認(rèn)蝴罪,Python 語言的運(yùn)行效率總體上是不如 C 或者 Java 這樣的語言的。但是運(yùn)行效率恰好對初學(xué)者來說并不是一個(gè)很重要的問題步清。一個(gè)手動(dòng)需要10小時(shí)完成的工作量要门,用 Python 需要10秒鐘運(yùn)行出結(jié)果,用 C 或者 Java 0.1 秒即可運(yùn)行出結(jié)果廓啊。

這其中的差距大嗎欢搜?大,有 100 倍的差距谴轮!

但對于我們要實(shí)現(xiàn)的功能來說炒瘟,多個(gè) 10 秒鐘或者少個(gè) 10 秒鐘根本可以認(rèn)為沒什么差別好嗎?

而學(xué)習(xí) Python 語言卻可以節(jié)省很多時(shí)間第步,編寫簡潔的 Python 代碼也會更省時(shí)省力疮装。

編程帶來思維方式的轉(zhuǎn)變

講話有邏輯、做事有條理是一個(gè)逐漸被大家高度認(rèn)可的能力粘都。但是邏輯能力的培養(yǎng)卻不是一朝一夕的事情廓推。

世面上有很多書講如何提升邏輯能力,但是一個(gè)關(guān)鍵問題是翩隧,這種底層能力的提升都不是靠看基本理論書就可以樊展,而是需要大量練習(xí)的。

那如何練習(xí)呢堆生?

我覺得數(shù)學(xué)訓(xùn)練是有助于提高邏輯能力的专缠。但讓大多數(shù)成年人去學(xué)習(xí)微積分、復(fù)變函數(shù)等是不現(xiàn)實(shí)的淑仆。且不說有沒有時(shí)間涝婉、有沒有興趣,就算這些都有蔗怠,那得能學(xué)得會班胰Α省骂!

而學(xué)習(xí)編程可以給你帶來的邏輯能力的提升,這可能是很多人開始學(xué)習(xí)編程時(shí)所沒有想到的最住。

也很好理解钞澳。

如果你邏輯思維能力不強(qiáng),寫出來的代碼就會bug不斷涨缚。變量的初始化是在循環(huán)外還是在循環(huán)內(nèi)轧粟?邊界條件要不要做特殊處理?還有什么特殊情況沒有考慮到脓魏?這些都會影響著程序的正確執(zhí)行兰吟。

疫情期間我寫過一段代碼,爬取每天公眾號發(fā)布的疫情信息茂翔,解析其中的數(shù)據(jù)并記錄下來混蔼。這段代碼連續(xù)很多天一直運(yùn)行很好,突然有一天發(fā)現(xiàn)出錯(cuò)了珊燎。仔細(xì)檢查代碼發(fā)現(xiàn)是疫情后期惭嚣,每天的確診病例數(shù)和無癥狀感染者數(shù)量很少,甚至有時(shí)候完全沒有悔政。這時(shí)候疫情信息的描述就與有數(shù)據(jù)時(shí)不同晚吞,程序檢測不到相應(yīng)的固定格式,就會報(bào)錯(cuò)谋国。

所以程序員的目標(biāo)都是寫盡可能健壯的程序槽地,也就是盡量能適應(yīng)各種極端情況,這就需要在規(guī)劃程序時(shí)就考慮到方方面面芦瘾。沒有良好的邏輯思維能力捌蚊,是很難完成這樣的工作的。但與此同時(shí)近弟,持續(xù)這樣的代碼訓(xùn)練缅糟,也會讓你的邏輯思維能力有極大的提升。

最后

寫完本文藐吮,我聽到了一個(gè)播客,為什么要學(xué)編程逃贝。里面提到了My First Million Podcast的節(jié)目主持人 Sam Parr 以2200萬美元的價(jià)格賣掉了之前做的hustle谣辞,一個(gè) newsletter 平臺。賣掉的原因是沐扳,他覺得寫 newsletter 對他來講變成了一個(gè)工作泥从,而不是生意。前者需要持續(xù)投入時(shí)間的事情沪摄,即不投入時(shí)間躯嫉,就沒有收益纱烘。而后者是可以以錢生錢的事業(yè)。

播客的主播提到這個(gè)事情祈餐,是因?yàn)橄虢忉屗麨槭裁撮_始學(xué)編程擂啥。

主播在做播客,寫博客帆阳,但這些需要持續(xù)輸出哺壶、持續(xù)運(yùn)營。他想學(xué)習(xí)前端等技術(shù)蜒谤,這樣可以運(yùn)行某些服務(wù)山宾,如SaaS。一旦服務(wù)部署鳍徽,有了用戶资锰,則后續(xù)基本不需要持續(xù)投入,即可有源源不斷的收入阶祭。

其實(shí)這也是我前面寫的編程可以解決重復(fù)性勞動(dòng)的一種思路绷杜。

但是對于大多數(shù)初學(xué)者來說,前端需要涉及的內(nèi)容較多胖翰、較雜接剩,一旦學(xué)習(xí)遇到挫折,很容易喪失繼續(xù)學(xué)習(xí)的信心萨咳。 Python 入門需要的知識則少得多懊缺,也能立即對自己的工作、生活起到立竿見影的效果培他。后續(xù)如果對于互聯(lián)網(wǎng)服務(wù)有興趣鹃两,既可以學(xué)習(xí) JavaScript 等前端語言,也可以繼續(xù)學(xué)習(xí) Python舀凛。畢竟俊扳, Python 除了不能幫你生孩子,什么都能做猛遍!x

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末馋记,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子懊烤,更是在濱河造成了極大的恐慌梯醒,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腌紧,死亡現(xiàn)場離奇詭異茸习,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)壁肋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進(jìn)店門号胚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來籽慢,“玉大人,你說我怎么就攤上這事猫胁∠湟冢” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵杜漠,是天一觀的道長极景。 經(jīng)常有香客問我,道長驾茴,這世上最難降的妖魔是什么盼樟? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮锈至,結(jié)果婚禮上晨缴,老公的妹妹穿的比我還像新娘。我一直安慰自己峡捡,他們只是感情好击碗,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著们拙,像睡著了一般稍途。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上砚婆,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天械拍,我揣著相機(jī)與錄音,去河邊找鬼装盯。 笑死坷虑,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的埂奈。 我是一名探鬼主播迄损,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼账磺!你這毒婦竟也來了芹敌?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤垮抗,失蹤者是張志新(化名)和其女友劉穎氏捞,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體借宵,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡幌衣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年矾削,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了壤玫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片豁护。...
    茶點(diǎn)故事閱讀 39,992評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖欲间,靈堂內(nèi)的尸體忽然破棺而出楚里,到底是詐尸還是另有隱情,我是刑警寧澤猎贴,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布班缎,位于F島的核電站,受9級特大地震影響她渴,放射性物質(zhì)發(fā)生泄漏达址。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一趁耗、第九天 我趴在偏房一處隱蔽的房頂上張望沉唠。 院中可真熱鬧,春花似錦苛败、人聲如沸满葛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽嘀韧。三九已至,卻和暖如春缠捌,著一層夾襖步出監(jiān)牢的瞬間锄贷,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工鄙币, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留肃叶,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓十嘿,卻偏偏與公主長得像因惭,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子绩衷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內(nèi)容