【導(dǎo)讀】相信各位Python工程師們?cè)趯慞ython代碼的時(shí)候,免不了經(jīng)常會(huì)出現(xiàn)bug滿天飛這種情況,這個(gè)時(shí)候我們可能就得一個(gè)標(biāo)點(diǎn)一個(gè)標(biāo)點(diǎn)的去排查,費(fèi)時(shí)又費(fèi)力,但是,我們又很難發(fā)現(xiàn)到底是其中的哪一個(gè)步驟,導(dǎo)致了這些問題的出現(xiàn)。導(dǎo)致這些問題的其中一個(gè)原因,就是我們沒有養(yǎng)成良好的編程習(xí)慣。編程習(xí)慣就好比是電影中的特效。電影特效越好,呈現(xiàn)出來的觀影效果也自然越好。同樣,如果我們能夠養(yǎng)成好的編程習(xí)慣,在查找錯(cuò)誤的時(shí)候,自己的思路就會(huì)更加清晰。下面是小編整理的解決Python項(xiàng)目bug的心得技巧分享,包含六小點(diǎn),希望對(duì)大家有所幫助。
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了平壩免費(fèi)建站歡迎大家使用!
方法一:使用項(xiàng)目管理工具
無論P(yáng)ython項(xiàng)目簡(jiǎn)單與否,我們都應(yīng)該使用Git進(jìn)行版本控制。大部分支持Python的IDE(集成開發(fā)環(huán)境)都內(nèi)置了對(duì)Git這一類項(xiàng)目管理工具的支持。
我們?cè)谛薷拇a時(shí),常常會(huì)出現(xiàn)改著改著程序就崩了的情況,改出的最新版本有時(shí)候還不如上一個(gè)版本。而Git,恰好能夠及時(shí)幫我們保存之前的版本。使用了它以后,我們也不需要不停地用“ctrl+z”來撤回代碼了。
方法二:使用Python的內(nèi)置函數(shù)
Python的內(nèi)置函數(shù)和標(biāo)準(zhǔn)庫(kù)都可以處理常見的用例,而不需要自己重新定義函數(shù)。
但是,剛剛?cè)腴T的Python開發(fā)人員們對(duì)其中的函數(shù)并不熟悉。所以他們經(jīng)常會(huì)遇到這樣一個(gè)問題——在不需要記住內(nèi)容的情況下,如何才能知道標(biāo)準(zhǔn)庫(kù)中的內(nèi)容是否涵蓋了自己的用例?最簡(jiǎn)單的方法是將標(biāo)準(zhǔn)庫(kù)索引和內(nèi)置函數(shù)概述頁添加為書簽,并且在遇到“日常編程”類問題的時(shí)候立即瀏覽一下。我們使用這些函數(shù)的頻率高了,自然也就能記住這些函數(shù)了。
方法三:使用正確的模塊
與內(nèi)置函數(shù)和標(biāo)準(zhǔn)庫(kù)一樣,Python中大量的第三方模塊集合,也可以幫助我們節(jié)省大量的人力。通過PyPI的Web前端,可以針對(duì)我們的問題觸發(fā)搜索詞,我們很容易就能找到適合自己的解決方案。
方法四:使用OOP
面向?qū)ο缶幊?OOP)將數(shù)據(jù)結(jié)構(gòu)與用于操作它們的方法捆綁在一起,從而使編寫高級(jí)代碼更加容易。OOP非常適合用于Python這一類高級(jí)語言,尤其是項(xiàng)目非常復(fù)雜的時(shí)候。熟悉Python的開發(fā)人員都知道,使用OOP可以減少代碼量,從而節(jié)省大量的時(shí)間。
但是,也不是所有的項(xiàng)目都需要使用OOP。如果項(xiàng)目沒有特別要求,一些小型的項(xiàng)目就可以不用OOP。
方法五:編寫測(cè)試代碼并不斷測(cè)試
一個(gè)好的程序員一定知道測(cè)試之于項(xiàng)目的重要性。編寫測(cè)試代碼的確是一個(gè)很枯燥的過程,但是不進(jìn)行測(cè)試,我們就無法發(fā)現(xiàn)程序的問題所在。
如果一個(gè)項(xiàng)目非常復(fù)雜的話,我們就必須要做到及時(shí)測(cè)試。越早測(cè)試,就能越早發(fā)現(xiàn)問題。而不是說等代碼全部寫完了,才開始進(jìn)行測(cè)試,這樣反而會(huì)導(dǎo)致更多的錯(cuò)誤和更大的工作量。
當(dāng)然,我們也可以尋找專業(yè)的軟件測(cè)試人員,來幫助我們進(jìn)行測(cè)試。這樣我們也可以把更多的精力投入到項(xiàng)目程序本身。
方法六:選擇正確的Python版本
部分人仍然在使用Python2,但Python官方的開發(fā)團(tuán)隊(duì)早已經(jīng)不對(duì)這一版本進(jìn)行維護(hù)了。聰明的開發(fā)人員都已經(jīng)將Python2里的項(xiàng)目遷移到Python3中了。
Python目前的最新版本是Python3.8.5,但也不是說你一定要使用最新版本。專業(yè)的軟件開發(fā)人員都知道,任何軟件的最新版本都不一定是最好的,因?yàn)樗孕枰_發(fā)團(tuán)隊(duì)不斷地去改良。程序員一般都會(huì)使用在最新版本之前的一個(gè)版本,舊版本相對(duì)而言是比較成熟的。
無論是運(yùn)用哪一種語言編寫代碼,優(yōu)秀的程序員都具備良好的編程習(xí)慣。這些習(xí)慣不僅能夠讓我們思路更加清晰,也可以幫助我們減輕工作量,從而節(jié)省大量的時(shí)間。所以,可能你離優(yōu)秀的程序員,只差一個(gè)好習(xí)慣了哦~
以上就是小編今天給大家整理發(fā)送的關(guān)于“解決Python項(xiàng)目BUG的心得技巧分享”的相關(guān)內(nèi)容,希望對(duì)大家有所幫助。小編認(rèn)為要想在大數(shù)據(jù)行業(yè)有所建樹,需要考取部分含金量高的數(shù)據(jù)分析師證書,這樣更有核心競(jìng)爭(zhēng)力與競(jìng)爭(zhēng)資本。
學(xué)習(xí)python,我首先根據(jù)自己完全代碼零基礎(chǔ)的情況下,為什么學(xué)習(xí)Python作為核心問題,進(jìn)行了一個(gè)自我定位以及目標(biāo)定位,我認(rèn)為只要有一個(gè)目標(biāo),那么就找方法去打成目標(biāo)就行了。
我是完全零基礎(chǔ),選擇學(xué)習(xí)Python主要還是因?yàn)榭吹酱蠹叶颊fPython是相對(duì)簡(jiǎn)單,比較好入門IT行業(yè)的,而我的目的也是希望學(xué)習(xí)完P(guān)ython可以找到一份相應(yīng)的工作,賺取一份工資可以買口紅,哈哈哈哈哈哈哈哈哈哈~
當(dāng)然,也有很多人可能已經(jīng)從事其他編程工作,但是想要學(xué)習(xí)Python以來豐富自身,提升自身的核心競(jìng)爭(zhēng)力,我覺得這樣應(yīng)該會(huì)比我這類完全零基礎(chǔ)的學(xué)習(xí)要容易快速的很多,
我就只說下我這位完全零基礎(chǔ)是如何學(xué)習(xí)的吧
我也搜查了一些學(xué)習(xí)方法的問答帖子,里面也看到很多推薦的學(xué)習(xí)方法,有推薦書籍的,有推薦網(wǎng)課的,我開始認(rèn)為,看書應(yīng)該是比較好的選擇,因?yàn)橹鞒蓵?,表明?nèi)容上是相對(duì)有一定的權(quán)威和系統(tǒng)的,同時(shí),想到從小都是書本學(xué)習(xí),這更能讓我信服,于是我就購(gòu)買了書籍,開始了我的學(xué)習(xí)計(jì)劃,可是,在半強(qiáng)迫自己的情況下,我看了三天半書籍實(shí)在是看不下去了,是的,三天半還是強(qiáng)迫自己看的,原因一,看書真的太乏味了,看著看著就會(huì)心不在焉,總是走神。原因二,這個(gè)時(shí)候我對(duì)代碼沒有概念,有些文字都要讀兩三遍才會(huì)理解意思,越難理解就越不想看書,這種感覺就是上學(xué)時(shí)我看數(shù)學(xué),英語書一模一樣的感覺。很顯然,看書學(xué)習(xí)是不適合我了,
看書不行,于是我就想著還是找網(wǎng)上的視頻教程學(xué)習(xí)吧,上網(wǎng)一搜,真的是各家機(jī)構(gòu)的教程也是琳瑯滿目,還真的讓我不知道從哪開始學(xué)起了,
這個(gè)時(shí)候真的是想有一位前輩可以給我指點(diǎn)一下迷津,告訴我應(yīng)該先學(xué)什么,再學(xué)什么,哪些是重點(diǎn)知識(shí),哪些是了解就好,就是可以給我一些學(xué)習(xí)的建議,于是我想那我可以先加入一些技術(shù)學(xué)習(xí)交流群,在里面應(yīng)該可以認(rèn)識(shí)到一些學(xué)習(xí)的人,于是我就開始大量的搜索加入學(xué)習(xí)群,于是在里面開始咨詢學(xué)習(xí)方法,
但是,這個(gè)時(shí)候我又發(fā)現(xiàn),我好像一張白紙,我想問一些問題,可是我不知道該怎么問,我也只能問大家都是怎么學(xué)習(xí)的,群內(nèi)的朋友也都還很熱情,也和我說了很多學(xué)習(xí)方式,不過我發(fā)現(xiàn)每個(gè)人都有各自的學(xué)習(xí)方式,各自都有各自的理論和優(yōu)勢(shì),在那么多的方法面前我再一次的有些混亂,又不知道哪一方法適合我,于是,我想到千人千面,每個(gè)人有每個(gè)人的想法,我咨詢的人越多,獲取的信息越多可能我就會(huì)越亂,于是我決定,那我就要借鑒看到的這些信息,來整理一套自己的方式,不一定對(duì),但是可能這更適合我自己。
于是,我并沒有先著急的就找教程視頻來直接學(xué)習(xí),我現(xiàn)在想知道的就是,應(yīng)該先學(xué)什么,掌握哪些知識(shí)之后,再學(xué)什么,我覺得我應(yīng)該先整理一套相對(duì)看上去系統(tǒng)的教程,雖然我最希望可以找到一個(gè)人給我一些這類的指引,但是奈何沒有找到,那就只能自己去整理了,我根據(jù)我買的書籍目錄,以及查了一些培訓(xùn)機(jī)構(gòu)的學(xué)科介紹,教程大綱內(nèi)容,進(jìn)行了一個(gè)統(tǒng)計(jì)對(duì)比,發(fā)現(xiàn)其實(shí)學(xué)習(xí)的內(nèi)容路徑也還是有它一定的規(guī)律,那我就整理了一份知識(shí)點(diǎn)的目錄學(xué)習(xí)路徑,我按照我整理的這個(gè)學(xué)習(xí)路徑上的知識(shí)點(diǎn)目錄去查找對(duì)應(yīng)的教程,這樣就整理了一套自己的學(xué)習(xí)資料,整理學(xué)習(xí)路徑和教程,利用了我比較多得時(shí)間,不過整理好了那么就可以開始學(xué)習(xí)了。
但在查找教程的時(shí)候,又走了一些彎路,我當(dāng)時(shí)只想到只要按照我整理的這個(gè)目錄找到對(duì)應(yīng)的教程就好了,可是在學(xué)習(xí)的時(shí)候,還是覺得知識(shí)點(diǎn)之間的銜接有些雜亂無章,
而且每一個(gè)知識(shí)點(diǎn)都是不同機(jī)構(gòu)課程風(fēng)格不同的教程視頻,這讓我學(xué)上去有些別扭,而且有的老師講得我很喜歡聽,有的就不是很喜歡,于是,我就又想,那我就找我喜歡這個(gè)老師的課程就好啦,可是我找了兩三天,同一個(gè)老師的教程是非常難找到公開的全套教程,這個(gè)我想也可以理解,老師也可能沒時(shí)間和精力來從零開始錄制全套教程,而且老師也是要工作賺錢養(yǎng)家生活的,于是我想那我可以找同一個(gè)機(jī)構(gòu)的教程吧,這樣也能最起碼是課程風(fēng)格一致,于是我就找到了我我認(rèn)為課程比較好得教程機(jī)構(gòu),又將我的學(xué)習(xí)資料重新的整理替換了一下,果然我覺得學(xué)習(xí)感覺好了一些,而且我又找到他們的客服,要到了他們課程的一些配套資料,這對(duì)我學(xué)習(xí)來說起到了更加的有效幫助。
最后,在學(xué)習(xí)完我整理的學(xué)習(xí)知識(shí)教程之后,又遇到了一個(gè)瓶頸,就是學(xué)習(xí)完知識(shí)點(diǎn)內(nèi)容,掌握的也是七七八八,之后又不知道該怎么做了,不知道自己學(xué)習(xí)的有沒有達(dá)到可以找工作的條件,
于是我又查詢了一些資料,可一些招聘信息,了解的一些信息主要要求說是需要項(xiàng)目經(jīng)驗(yàn),需要一些項(xiàng)目功能技術(shù)的掌握,那我的理解就是,已經(jīng)掌握了基礎(chǔ)知識(shí),企業(yè)招聘人員需要掌握一些項(xiàng)目技術(shù)能力,
去幫助解決處理問題,也就好像,假設(shè)Python有100個(gè)技術(shù)框架,但是一個(gè)企業(yè)只用到其中30個(gè),那如果你的學(xué)習(xí)掌握正是他們用的這30個(gè),那么你不會(huì)那另外的70個(gè)也可以,只不過你學(xué)習(xí)掌握的越多,你的條件符合范圍和就業(yè)機(jī)會(huì)也就越大,我按照我的這個(gè)大致理解,
我就仔細(xì)了解了一下Python主要可以從事哪些方向,我就根據(jù)我比較喜歡的方向看了一下招聘信息,然后根據(jù)上面的普遍要求,進(jìn)行了學(xué)習(xí)。最后就整理包裝了一下簡(jiǎn)歷,嘗試著投簡(jiǎn)歷找工作,當(dāng)然面試也并不是順利,剛開始的面試是還慌亂,面試也是沒有任何結(jié)果,不過我是在每次面試中總結(jié)經(jīng)驗(yàn),收集好面試問題,回來在好好準(zhǔn)備,為下一次面試做知識(shí)儲(chǔ)備,就這樣我面了試大概有將近二十家,終于也是找到了一個(gè)算是實(shí)習(xí)崗位的工作,我想著先做著,這個(gè)時(shí)候應(yīng)該先到企業(yè)中去學(xué)習(xí)一些真實(shí)的項(xiàng)目經(jīng)歷比較重要。
最后我總結(jié)一下我學(xué)習(xí)過程中我認(rèn)為比較重點(diǎn)的內(nèi)容
首先,學(xué)習(xí)我們要有一個(gè)清楚的自我認(rèn)識(shí),是為了找工作,還是為了輔助工作來增加自己的競(jìng)爭(zhēng)力,也就是要有一個(gè)明確的目標(biāo)。 如果是完全零基礎(chǔ)學(xué)習(xí),我建議開始不要先看書,原因上面我也有說了,這個(gè)時(shí)候看書完全看不進(jìn)去,里面的知識(shí)點(diǎn)也很難理解的,雖然我們從小就接受書本教育,可是前提也都是要有老師講解的,不是我們自己看書就可以的。
然后,就是要尋找一套適合自己的學(xué)習(xí)方式,最好還是自己整理一套適合自己的學(xué)習(xí)資料,因?yàn)橹挥凶约鹤盍私庾约?,這里可能會(huì)花費(fèi)比較長(zhǎng)的時(shí)間,但是這會(huì)讓你在之后的學(xué)習(xí)上節(jié)省很多時(shí)間,讓你事半功倍。
最后,如果在選擇視頻教程的時(shí)候,盡量選擇一個(gè)老師的教程(但是很難實(shí)現(xiàn))最差也要盡量選擇同一家機(jī)構(gòu)的教程,因?yàn)檫@樣在課程設(shè)計(jì)和課程風(fēng)格上相對(duì)比較統(tǒng)一。然后在學(xué)習(xí)的過程中,最好是根據(jù)視頻課程老師的進(jìn)度,自己做學(xué)習(xí)筆記,這樣的好處,一是,在今天學(xué)習(xí)完,明天你可能就只記得一個(gè)大致概念了,俗話說,好記性不如爛筆頭,做筆記會(huì)讓自己印象更深刻,二是,在之后你想要回頭復(fù)習(xí)的時(shí)候,也會(huì)讓你有一個(gè)清晰的復(fù)習(xí)思路。當(dāng)學(xué)習(xí)完一個(gè)階段知識(shí)的時(shí)候,感覺視頻老師講解的內(nèi)容有些淺,這時(shí)候可以看一些優(yōu)秀的書籍,因?yàn)槟阌X得老師講得淺,說明你的學(xué)習(xí)理解的非常好,這時(shí)候看一些書可以起到很大的提升作用。
至于找工作面試的事情我就不詳細(xì)地寫了,手敲了這么多,有點(diǎn)累了,最后希望我的建議可以對(duì)想要學(xué)習(xí)的伙伴有一點(diǎn)點(diǎn)幫助吧。
Python是一種跨平臺(tái)的計(jì)算機(jī)程序設(shè)計(jì)語言,是一種面向?qū)ο蟮膭?dòng)態(tài)類型語言,越來越多被用于獨(dú)立的,大型項(xiàng)目的開發(fā),已被逐漸廣泛應(yīng)用于系統(tǒng)管理任務(wù)的處理和Web編程。下面給大家?guī)硪恍╆P(guān)于Python 學(xué)習(xí)心得 ,希望對(duì)大家有所幫助。
python學(xué)習(xí)心得1
最近這段時(shí)間我們學(xué)習(xí)了很多內(nèi)容,增長(zhǎng)了很多關(guān)于Python的知識(shí),萬事萬物是相通的,正如學(xué)習(xí)新的知識(shí)就像吃飯一樣。
吃多了就會(huì)消化不良,反映到學(xué)習(xí)上也是一樣,不知各位最近的感覺怎樣,反正學(xué)記是需要一些時(shí)間好好消化,掌握到手中,為下一步的知識(shí)補(bǔ)齊缺口。
接下來,學(xué)記和大家一起回顧一下最近學(xué)習(xí)的內(nèi)容,循序漸進(jìn),循序漸進(jìn)。
分支結(jié)構(gòu)
分支結(jié)構(gòu)就像上圖一樣,是用來選擇道路的。
所用的關(guān)鍵字是
If elif else
這三個(gè)詞的意思分別是
如果 否則如果 其他的
分支語句的寫法需要將與關(guān)鍵字與關(guān)鍵字對(duì)齊
循環(huán)結(jié)構(gòu)
循環(huán)結(jié)構(gòu)應(yīng)用于一些重復(fù)的進(jìn)程
通常我們只接觸兩種循環(huán)
for-in循環(huán) 和 while循環(huán)
for-in循環(huán)適用于
確切的知道到底循環(huán)幾次
while循環(huán)適用于
不知道到底有幾次循環(huán)
此時(shí)要搭配bool 來進(jìn)行
即 True 和 Flase
關(guān)鍵字
關(guān)鍵字的熟練運(yùn)用對(duì)于今后的開發(fā)工作
有非常重要的作用,但這么多關(guān)鍵字我們不能去死記硬背
只有在一個(gè)一個(gè)代碼的驗(yàn)證當(dāng)中去熟悉去掌握
那樣是最可靠的
def 設(shè)置模組
len 計(jì)算字符串長(zhǎng)度
capitalize 獲得字符串首字母大寫的拷貝
upper 獲得字符串變大寫后的拷貝
find 從字符串中查找子串所在位置
index 與find類似但找不到子串時(shí)會(huì)引發(fā)異常
startswith 檢查字符串是否以指定的字符串開頭
endswith 檢查字符串是否以指定的字符串結(jié)尾
center 將字符串以指定的寬度居中并在兩側(cè)填充指定的字符
rjust 將字符串以指定的寬度靠右放置左側(cè) 填充指定的字符
isdigit 檢查字符串是否由數(shù)字構(gòu)成
isalpha 檢查字符串是否以字母構(gòu)成
isalnum 檢查字符串是否以數(shù)字和字母構(gòu)成
append 添加元素
remove 刪除元素
clear 清空元素
sorted 排序
大家可能會(huì)有些疑惑,學(xué)習(xí)這些東西真的有用嗎?這些隨處可見的基礎(chǔ)方面的知識(shí)真的有用嗎?
我可以非??隙ǖ馗嬖V大家
有用的!
這些知識(shí)就像是建筑工地隨處可見的磚石,不管這些磚石怎樣的不起眼,但是沒有一幢建筑可以離開磚石,學(xué)習(xí)的過程是枯燥的,不過這也正符合非?,F(xiàn)實(shí)的一條規(guī)律。
學(xué)如逆水行舟,不進(jìn)則退!
也正是因?yàn)樗菰锟鄲?,學(xué)習(xí)有難度,才保證了,我們學(xué)習(xí)了這些知識(shí)以后,可以靠它們?yōu)樯?,在這個(gè)知識(shí)時(shí)代闖出自己的一片天!
不要放棄,絕對(duì)不要放棄!
黎明之前是最黑暗的!
為了自己的未來好好堅(jiān)守吧!
青年學(xué)記 陪伴著各位青年
python學(xué)習(xí)心得2
python是一門非常有潛力的高級(jí)語言,歷經(jīng)多年的發(fā)展,其在編程上發(fā)揮著越來越大的作用。在這學(xué)期中,通過選修python課上的基礎(chǔ)知識(shí)學(xué)習(xí),我對(duì)python也有了一定的認(rèn)識(shí)。而且,在字符串上的處理,python相對(duì)于c語言也是給程序員極大的便利。而python不僅如此,它的庫(kù)也很多,正因?yàn)樗鼜?qiáng)大的庫(kù),讓編程變得不再艱難。但是,我認(rèn)為python雖然在許多方 面相 對(duì)于c語言比較方便,但也有其相對(duì)于弱一點(diǎn)的方面,比如說for循環(huán)等方面。雖然一學(xué)期下來,我對(duì)python的學(xué)習(xí)也僅僅只是它的基礎(chǔ)方面,但python的強(qiáng)大,也是足足地吸引著我,希望自己能夠在不斷地學(xué)習(xí)中,將python學(xué)習(xí)的更加好。
python是一門非常有潛力的高級(jí)語言,歷經(jīng)多年的發(fā)展,其在編程上發(fā)揮著越來越大的作用。在這學(xué)期中,通過選修python課上的基礎(chǔ)知識(shí)學(xué)習(xí),我對(duì)python也有了一定的認(rèn)識(shí)。
在學(xué)習(xí)python的第一節(jié)課上,其對(duì)我的最初的印象就是,相較于我學(xué)習(xí)過的c語言編程,它更加的簡(jiǎn)潔。所有的變量都不需要像c語言編程那樣需要提前去定義,這樣給了編程者很大的自由空間與方便。如x=2,即可同時(shí)完成變量的定義與賦值。對(duì)于簡(jiǎn)化程序的代碼,起到了許多的作用。而且,在字符串上的處理,python相對(duì)于c語言也是給程序員極大的便利。在c語言中,只能用字符類的數(shù)組對(duì)字符串進(jìn)行相應(yīng)的操作,步驟也是相對(duì)于比較繁瑣的,而在python中,當(dāng)我們需要?jiǎng)?chuàng)建一個(gè)字符串的時(shí)候,只需要在創(chuàng)建字符串的時(shí)候用“s=”就可以了。而python不僅如此,它的庫(kù)也很多,正因?yàn)樗鼜?qiáng)大的庫(kù),讓編程變得不再艱難。我們只需要調(diào)用庫(kù)中的函數(shù),而對(duì)于函數(shù)的具體實(shí)現(xiàn),也沒有特殊的需求。
但是,我認(rèn)為python雖然在許多方面相對(duì)于c語言比較方便,但也有其相對(duì)于弱一點(diǎn)的方面,比如說for循環(huán)等方面。不過也依然不會(huì)影響到python的強(qiáng)大,而隨著近幾年來的發(fā)展,python的受歡迎度也越來越高,而它的運(yùn)用的領(lǐng)域也是越來越多,比如人工智能和大數(shù)據(jù)等領(lǐng)域,python都是在其中扮演者重要的角色。雖然一學(xué)期下來,我對(duì)python的學(xué)習(xí)也僅僅只是它的基礎(chǔ)方面,但python的強(qiáng)大,也是足足地吸引著我,希望自己能夠在不斷地學(xué)習(xí)中,將python學(xué)習(xí)的更加好。
python學(xué)習(xí)心得3
由于我是自學(xué)Python,非科班出生,所以只能分享一些關(guān)于我的學(xué)習(xí)心得,如果有不對(duì)地方歡迎指正。
不過非科班出生雖然是一個(gè)痛點(diǎn),但是在工作上,我其實(shí)不輸給我其他同事,這點(diǎn)我倒是很有自信,而且我也統(tǒng)一一句話“目前互聯(lián)網(wǎng)上的免費(fèi)編程課程,足夠讓你成為一個(gè)合格的碼農(nóng)”。
編程入門
我剛開始學(xué)習(xí)編程,主要是因?yàn)樽约合雱?dòng)手做個(gè)網(wǎng)站,但是由于技術(shù)原因,再加上朋友都比較忙,最后抱著“求人不如求己”的想法,干脆自學(xué)。
編程難不難?
這個(gè)問題我覺得所有認(rèn)真學(xué)過的人,都一定會(huì)肯定告訴你編程不難,但是精通那是相當(dāng)困難的。
如果你還沒去學(xué)習(xí),就覺得編程一定很難,那么其實(shí)你是沒有資格說這句話的,任何事情一定是要去嘗試后,才能這么說。
編程其實(shí)很像堆積木,然后根據(jù)需求,把東西造出來,可以是房子,也可以是橋梁。
學(xué)習(xí)編程無非運(yùn)用這些積木,來創(chuàng)造你要的東西。
編程語言選擇
這邊說個(gè)題外話,關(guān)于當(dāng)時(shí)編程語言的選擇,很多時(shí)候我覺得不是你選擇編程語言,而是編程語言選擇你,也就是你的“本命編程語言”。
人的性格會(huì)影響你適合的編程語言,比如你做事有條理,喜歡定期清理房間,那么可能C語言很適合你;如果你不喜歡打掃房間,實(shí)在受不了,才打掃一次,可能你適合Java。
哈哈,開個(gè)玩笑,不過確實(shí)有這種很玄的存在。
我當(dāng)時(shí)在編程語言的選擇上,用了一個(gè)笨 方法 。
我跑到w3cschool上面,把所有編程語言的第一章都去試了一遍,看看自己喜歡哪個(gè)語言,然后就選哪個(gè)語言,如果你不知道選哪門語言,可以用我的方法試試看。
至于編程語言,沒有高低之分,因?yàn)闊o論你學(xué)習(xí)哪門語言,你都非常有市場(chǎng),而且你都能夠拿到高薪,關(guān)鍵是哪門語言適合你,并且能夠讓你有興趣學(xué)下去,能學(xué)好,這個(gè)很關(guān)鍵。
興趣是學(xué)習(xí)編程最大的驅(qū)動(dòng)力!
為什么是Python
說下為什么選擇Python?
因?yàn)楹?jiǎn)單,Python是公認(rèn)的最容易入門的編程語言,而且也是公認(rèn)有發(fā)展前景的編程語言,適用于機(jī)器人、大數(shù)據(jù)、人工智商等未來高科技。
基于以上的原因,我選擇Python來作為自己的入門語言,而且我覺得我適合Python這么語言。(因?yàn)槲液軕?
之前有個(gè)梗,大概就是其他編程語言在討論某個(gè)問題,怎么解決,而Python的程序員已經(jīng)下班了,由此可見Python的效率。
總結(jié) :Python的語言特點(diǎn)就是“一氣呵成,痛快如拉稀”。
學(xué)習(xí)心得
由于我是自學(xué)的,所以參考的網(wǎng)站比較多,小伙伴可以按照我的學(xué)習(xí)路線,一般來說不會(huì)出現(xiàn)什么問題。
基礎(chǔ):教程+視頻
進(jìn)階:視頻+實(shí)踐
進(jìn)階pro:視頻+實(shí)踐+書籍+交流
基礎(chǔ)
剛開始學(xué)習(xí)的時(shí)候,我比較推薦w3cschool和菜鳥教程這兩個(gè)網(wǎng)站。
w3cschool-學(xué)編程,從w3cschool開始!
菜鳥教程 - 學(xué)的不僅是技術(shù),更是夢(mèng)想!
這兩個(gè)網(wǎng)站在我看來,是編程自學(xué)的福音。
w3cschool這個(gè)網(wǎng)站手冊(cè)非常棒,另外這個(gè)網(wǎng)站的編程微課以及編程實(shí)戰(zhàn)對(duì)新手來說非常友好!
我當(dāng)時(shí)就是靠這兩個(gè),引發(fā)我學(xué)習(xí)的樂趣,不然對(duì)著枯燥的代碼,說實(shí)話,很無聊的。
菜鳥教程,這個(gè)網(wǎng)站的實(shí)例是最棒的,很多時(shí)候,你不僅僅要自己看教程,還要去看看為什么,而菜鳥教程的實(shí)例就能夠讓你清晰的知道,為什么,并且會(huì)原來如此。
總的來說,這兩個(gè)網(wǎng)站就像新手村剛出來的劍和盾!是新手入門絕對(duì)不能少的,尤其是w3cschool,強(qiáng)烈推薦。
還有一個(gè)就是視頻,視頻我是在慕課網(wǎng)上面看的,我很喜歡慕課網(wǎng)這個(gè)網(wǎng)站,網(wǎng)站風(fēng)格很棒,而且視頻也很清晰。
也可以在阿里云上面看Python的視頻,也很不錯(cuò),并且是免費(fèi)的。
進(jìn)階
進(jìn)階結(jié)束后,代表你是個(gè)初級(jí)工程師。
這一步實(shí)踐非常重要,你要自己動(dòng)手,做一些小玩意,實(shí)踐才是最重要的,在實(shí)踐中發(fā)現(xiàn)問題,那是學(xué)習(xí)最快并且效率最高的時(shí)刻。
你可以先給自己定下一個(gè)目標(biāo),比如我要做一個(gè)簡(jiǎn)單的頁面,或者我要做一個(gè)簡(jiǎn)單的小程序。
然后就開始動(dòng)手去實(shí)踐,這步很重要。
同時(shí)還是要多看書籍。
進(jìn)階pro
到這一步,我建議務(wù)必買書,你需要書籍幫你反向梳理你的知識(shí),這決定了你以后的高度,而不是這個(gè)也懂,那個(gè)也懂,但是東西就是做不出來。
我記得當(dāng)時(shí)我買完書,看完后的第一感受就是:原來這個(gè)世界是這樣的!
書會(huì)非常系統(tǒng)性的幫你梳理你自己學(xué)過的知識(shí)!
這里只推薦兩本書:《Python入門手冊(cè)》和《Python核心編程》
小伙伴可以自己去亞馬遜購(gòu)買。
然后就是和身邊的小伙伴交流!
多看看別人的代碼,自己多敲敲代碼,是必經(jīng)之路,也是一定要做的。
以上,希望對(duì)想入門Python的小伙伴能夠提供一點(diǎn)點(diǎn)幫助。
python學(xué)習(xí)心得4
017年11月,一群編程零基礎(chǔ)的小伙伴們成立了Python學(xué)習(xí)小組,12名學(xué)員從此夜以繼日地奔赴學(xué)習(xí)的征程。一個(gè)月過去了,從在屏幕上用最簡(jiǎn)單的語句打印出“Hello, Python; Hello, World”開始,我們逐步地學(xué)習(xí)Python語法,學(xué)習(xí)操作列表、字典,學(xué)習(xí)For,While,If語句,現(xiàn)在遇到了第一個(gè)難點(diǎn):類。通過研讀、練習(xí)、交流、討論,作為程序界的小白,我們逐步地理解了類的概念,明白了面向?qū)ο笈c面向過程編程的差異,以下是我們的小小心得,與大家分享:
編程基本思想
現(xiàn)實(shí)世界中,每個(gè)復(fù)雜的事務(wù)都可以拆分為多個(gè)組成部分,其中的每一部分就可稱之為對(duì)象。比如要實(shí)現(xiàn)一個(gè)很大很復(fù)雜的項(xiàng)目,我們可以把項(xiàng)目拆分成不同的組成部分,然后分別對(duì)不同部分通過編程實(shí)現(xiàn),最終再把各個(gè)部分組裝起來完成整個(gè)項(xiàng)目。這讓我們能夠從整體上來控制項(xiàng)目,從而讓程序開發(fā)更有效。
比如汽車制造,汽車廠所做的僅僅是各個(gè)部件的組裝和匹配,而各個(gè)部件的生產(chǎn)是由相對(duì)專業(yè)的廠商完成。如果需要研發(fā)新型號(hào)汽車,整車廠所考慮的是如何對(duì)各個(gè)新式的零部件進(jìn)行新的組裝和匹配,而不是從頭到尾重新生產(chǎn)一輛汽車。
面向?qū)ο蟮木幊?/p>
VS
面向過程的編程
面向過程編程是針對(duì)一個(gè)需求的具體實(shí)現(xiàn)過程,但是對(duì)于大型項(xiàng)目的復(fù)雜需求,一步一步的做,這種編程效率顯然是低下的。
面向?qū)ο缶幊虅t是對(duì)項(xiàng)目進(jìn)行拆分后(一般按照功能拆分),分別實(shí)現(xiàn),再將各個(gè)對(duì)象組裝起來。因此簡(jiǎn)單的小程序使用面向過程方法編程更適合。面向?qū)ο蟮木幊烫匦允且拙S護(hù)(可讀性高),效率高,質(zhì)量高(重用性),擴(kuò)展性好(高內(nèi)聚,低耦合)。
對(duì)象
通俗的講,對(duì)象就是事物,一個(gè)公司、一個(gè)部門、一個(gè)人,甚至一本書都可以是一個(gè)對(duì)象,程序員可以自由決定把什么作為對(duì)象。
比如eHR系統(tǒng),需要對(duì)組織架構(gòu),員工進(jìn)行管理,所以使用的對(duì)象可能是公司,部門,崗位,員工,等等。對(duì)象可大可小,可復(fù)雜也可簡(jiǎn)單,如果僅僅是做一個(gè)考勤系統(tǒng),員工這個(gè)對(duì)象一定要比eHR系統(tǒng)中的員工對(duì)象簡(jiǎn)單。
類
現(xiàn)實(shí)世界中,類代表一組有共同特性的事物,把不同對(duì)象之間的共性抽象出來,就形成類的概念。比如說男人、女人可以抽象成人這個(gè)類;處長(zhǎng)、秘書可以抽象成員工類。至于類如何去抽象,粒度的粗細(xì),這是一個(gè)需要在學(xué)習(xí)和實(shí)踐中摸索的過程。
實(shí)例
以下是一個(gè)實(shí)例,大家體會(huì)一下:
1. 定義父類:
class Employee:
def __init__(self, name, age): #抽象員工共性(名字,年齡)
self.name = name
self.age = age
def signON(self):
print(self.name+" sign on.") #抽象簽到的動(dòng)作
def work(self):
print(self.name + " on work.") #抽象工作的動(dòng)作
2. 繼承出子類:
class MEmployee(Employee): #繼承父類的共性
def __init__(self, name, age):
super().__init__(name, age)
def work(self): #重寫子類的方法(抽象出從事管理崗位工作的動(dòng)作)
print(self.name + " on manager_work.")
3. 繼承出第二個(gè)子類:
class TEmployee(Employee):
def __init__(self, name, age, devLanguage): #繼承父類的共性,增加語言的屬性
super().__init__(name, age)
self.devLanguage = devLanguage
def work(self): #重寫子類的方法(抽象出從事技術(shù)崗位工作的動(dòng)作)
print(self.name + " on technology_work.")
def showLanguage(self): #增加子類的方法(抽象出會(huì)某種編程語言的動(dòng)作)
print("use "+self.devLanguage+" language.")
在上面的程序中,我們先定義了一個(gè)父類:包含員工的姓名、年齡等一般特性,可以執(zhí)行簽到、工作這兩類動(dòng)作。在第一個(gè)子類中,管理層在前面一般特性的基礎(chǔ)上,執(zhí)行管理工作;在第二個(gè)子類中,作為一般員工在前面一般特性的基礎(chǔ)上,執(zhí)行技術(shù)工作,從事編程。
python學(xué)習(xí)心得5
1、定義方法
關(guān)鍵字 def 是方法定義的標(biāo)志。接下來緊跟方法名和被圓括號(hào)所包圍的參數(shù)列表。方法的主
體語句將在下一行開始并且必須縮進(jìn)。
方法主體的首句可選擇性地是一句字符,用來說明方法的主要功能
例如:
"""print a finabo series up to n."""
2、默認(rèn)參數(shù)值
默認(rèn)值僅被設(shè)置一次,這與以前默認(rèn)值為可變對(duì)象(如列表、字典和多數(shù)類實(shí)
例時(shí))有很大的區(qū)別。
例如:
i=5
def f(arg=i):
print(arg)
i=6
f()
將會(huì)輸出 5
3、關(guān)鍵字參數(shù)
可以通過形式關(guān)鍵字參數(shù)調(diào)用方法
在方法調(diào)用中,關(guān)鍵字參數(shù)必須遵循位置參數(shù)。 所有的關(guān)鍵參數(shù)必須符合方法接受的參數(shù)
其中之一。但是他們的次序不重要,這包含非選擇的參數(shù)。沒有參數(shù)可以多次接受一個(gè)值。
當(dāng)最后一個(gè)形參是__ name 時(shí),它可以接受包含除了形式參數(shù)之外的所有關(guān)鍵字的字典,
_ name 必須在__ name 之前出現(xiàn)
4、可變參數(shù)列表
正常來說,這些可變參數(shù)常常放在正式參數(shù)列表的后面,因?yàn)樗鼈儠?huì)包攬所有傳遞給該方法
的剩余輸入?yún)?shù)。任何出現(xiàn)在_ args 參數(shù)后低的正式參數(shù)會(huì)被認(rèn)為是關(guān)鍵字參數(shù),意味著它
們只能當(dāng)關(guān)鍵字使用而不是位置參數(shù)。
def concat(_ args,sep="/"):
...returnsep.join(args)
...
concat("earth","mars","venus")
’earth/mars/venus’
concat("earth","mars","venus", sep=".")
’earth.mars.venus’
5、拆分參數(shù)列表
當(dāng)參數(shù)已經(jīng)存在列表或者元組中,但是需要分拆以供要求分離位置參數(shù)調(diào)用的方法,如果單獨(dú)
分開它們無法使用,就需要寫一個(gè)方法用 _ 操作符來調(diào)用實(shí)現(xiàn)分拆列表或者元組中的參數(shù)。
同樣的使用形式,字典可以用__ 操作符實(shí)現(xiàn)關(guān)鍵字參數(shù)。
6、形式
lamdba a,b:a+b 該函數(shù)表示兩個(gè)數(shù)的和,像內(nèi)嵌函數(shù)
7、代碼風(fēng)格
對(duì)于 python,PEP8 作為許多項(xiàng)目應(yīng)該遵守的編碼指導(dǎo)書而做的。 它提出了一種可讀而悅
目的編碼風(fēng)格。 每位 python 開發(fā)者應(yīng)該讀它。這里抽出一個(gè)重要的事項(xiàng)與你分享 :
? 用四個(gè)空格代替 tab 鍵
? 每行不要超過 79 個(gè)字符。
? 用空行分離方法和類,大塊代碼中的方法。
? 必要的時(shí)候?yàn)槊啃刑砑幼⑨尅?/p>
? 用文檔字符串
? 在操作符兩邊用空格
? 用統(tǒng)一的風(fēng)格命名自定義的方法和類
? 如果你的代碼打算用在國(guó)際環(huán)境中,請(qǐng)不要用想象的字符編碼。Python 默認(rèn)的是
utf-8,在任何情況下可以用 Ascii .
? 同樣的,即使有很少機(jī)會(huì)讓說不同語言的人們讀代碼或者維護(hù)代碼,但在定義中不
要用非 ASCII 編碼字符。