-
1 # Python之王
-
2 # DaddyPi
問題中的“零基礎”,應該理解為以前沒有接觸過任何一門程式語言。學習程式設計不需要什麼預先的基礎,真要說需要一點基礎,就是數學,首先是完整理解基本的運算,然後是需要對布林代數的基本規則有點了解。我相信四則運算都不是問題,布林代數則有些人確實沒接觸過,其實也很簡單,大多數人花個至多30分鐘就可以成功理解它。
程式設計其實是一個人人都可以完成的事情,並沒有它給人的神祕感那麼高深。
再下來,你要理解的一個東西,是分支,也有人叫選擇。因為程式和我現在書寫的回答一樣,是順序一行行寫下來的,如果最後到這個程式執行也是一行行順序下來,那麼程式就太機械了,根本沒有任何變化能力,只可能有一個結果,用處太小了。當然最關鍵的是,我們的程式通常要隨機而變,我們在編寫程式時只能考慮所有的可能情況,而實際發生的是哪一個可能性,我們並不知道。所以程式是順序寫的,但是所有語言都會有分支的功能,有的變種多一些,有的變種少一些,但至少必須有“如果。。。那麼。。。”,這句話的意思就是條件如果發生了,程式就會開始變道了,這為程式提供了豐富的可能性,也就是結果是可以變化的。
再有一個東西就是變數,變數是初學者較難理解的一個概念,因為變數通常指的是計算機儲存的一片區域,類似我們大腦的記憶功能。你可以簡單理解是一張張便籤紙,幫程式記憶它自己運算的結果,使用者輸入的資料,或者其它裝置傳輸給它的資料(比如網際網路來的)。有些你能改變它們的內容,就叫變數。有些內容是固定的,你只能看不能改,就叫常量。這些常量和變數可以進行上面所說的各種運算,包括布林運算,這些計算結果則會影響程式在每一個分支的選擇。
上面這些你都能有個大概齊的理解之後,就可以選擇一門程式語言了。下面這個排行榜裡面基本就是一些目前比較流行的程式語言了,這和學英語的原因一樣,只有一個原則,適合的幾種語言你選擇最流行的那一種。為什麼?因為第一個最流行肯定得到了大眾認可,入坑的機會很少,其次是用的人多,你可以找到的資源教材和範例程式碼都會更多,方便你入門之後再去進階和交流。
至於哪種程式語言適合你?主要和你學習程式設計的目的有關係,如果是覺得程式設計很酷,試試自己能不能也變成個黑客發明家之類的,那麼C/C++比較適合,應該它們和計算機本身聯絡更緊密,通過學習這兩門語言可以對計算機進行非常深入的理解。如果就是有幾個資料需要分析分析,寫個論文發個總結啥的,甚至就是覺得想看看程式設計有沒有用處的,建議學習Python,這是快速藉助計算機算力的不二之選。
如果上面兩個都不是你的目的,那麼恐怕學習程式設計大多是來自於你的職業需求。找到你的企業或者想入職的企業,或者想進入的創業領域中,大家都用什麼程式語言,你就用它。如果是自己開發產品,則還有一個小提議,一定要去GitHub上先找找看,有沒有類似的想法和開源專案,這也會決定你選擇的程式語言。
至於具體學習一門語言的過程,也很簡單,多除錯就行。去網路上,書本中,找到自己感覺有興趣的程式範例,不要複製黏貼,而是一行行給輸進去,然後自己調試出正確的結果(自己輸入肯定會出錯,找出錯誤是非常好的學習程式設計的實戰方式)。模仿完成後,在自己給程式定個新執行結果,改改看,繼續除錯,看程式和你想象的是不是同一個結果,不同是因為結果無法實現?還是程式哪裡沒改好?幾個程式試下來,你就會發現,學程式設計比學英語要簡單,沒啥可怕的。
-
3 # 01程式設計
程式設計是很枯燥的,很累的一項工作,別看人家拿高薪,也多看看人家的落髮啊!
所以,興趣很重要,沒有興趣或者三天打魚兩天晒網都建議別來啦。只有興趣是驅動你不斷學習,不斷戰勝困難的推動力。如果沒有興趣,你就無法挑燈找BUG,無法通宵改需求,說多了都是淚啊。
零基礎學習程式設計,先要明確你學習程式設計是幹啥啊?也就是學習的目的!對於要往專業方向發展,建議多C 語言入門,還記得我們大學的教科書第一本就是譚浩強老師的《C語言程式設計設計》;然後到資料結構、面向物件程式設計C++、C#等、資料庫知識、演算法等。這些百度下都有很多的教程,別看太多,也不用什麼都搞清楚,要知道我們大學期間也是花了好些年也沒全部搞懂呢!有些東西實踐了,在特定的場景中,你就明白了。(視訊、書籍的學習資料非常多)
基礎學好了,然後就該解決吃飯問題了,學個Java吧,學好了找工作應該就沒啥問題了。
然後就是在特定行業裡紮根,深刻理解業務(難度遠勝過程式設計),並用程式設計的思維提出創新性或科學性解決方法。
這個方向的學習曲線十分漫長、難度較大,不適合一般人。
我建議走正向反饋學習路徑,也就是我們學習到一定階段了,然後學有所用,才能繼續激勵我們學下去,這樣良性迴圈來完成目標。
實用才是最重要的,解決問題才是我們學習程式設計的最終目的。
好的方法,正確的學習路徑很關鍵,就像我們玩遊戲一樣,從打小怪獸開始,一步步進化,最終戰勝大Boss。
-
4 # TD905
學習重要是選對方法!!!
python之所以火是因為人工智慧的發展,個人整理學習經驗僅供參考!
感覺有本書《Python3破冰人工智慧從入門到實戰》你學的差不多了就基本具備了一名合格的python程式設計工程師,不過可惜的是這本書沒有電子版,只有紙質的。
第 1章 從數學建模到人工智慧
1.1 數學建模1.1.1 數學建模與人工智慧1.1.2 數學建模中的常見問題1.2 人工智慧下的數學1.2.1 統計量1.2.2 矩陣概念及運算1.2.3 概率論與數理統計1.2.4 高等數學——導數、微分、不定積分、定積分第2章 Python快速入門2.1 安裝Python2.1.1 Python安裝步驟2.1.2 IDE的選擇2.2 Python基本操作2.2.1 第 一個小程式2.2.2 註釋與格式化輸出2.2.3 列表、元組、字典2.2.4 條件語句與迴圈語句2.2.5 break、continue、pass2.3 Python高階操作2.3.1 lambda2.3.2 map2.3.3 filter第3章 Python科學計算庫NumPy3.1 NumPy簡介與安裝3.1.1 NumPy簡介3.1.2 NumPy安裝3.2 基本操作3.2.1 初識NumPy3.2.2 NumPy陣列型別3.2.3 NumPy建立陣列3.2.4 索引與切片3.2.5 矩陣合併與分割3.2.6 矩陣運算與線性代數3.2.7 NumPy的廣播機制3.2.8 NumPy統計函式3.2.9 NumPy排序、搜尋3.2.10 NumPy資料的儲存第4章 常用科學計算模組快速入門4.1 Pandas科學計算庫4.1.1 初識Pandas4.1.2 Pandas基本操作4.2 Matplotlib視覺化相簿4.2.1 初識Matplotlib4.2.2 Matplotlib基本操作4.2.3 Matplotlib繪圖案例4.3 SciPy科學計算庫4.3.1 初識SciPy4.3.2 SciPy基本操作4.3.3 SciPy影象處理案例第5章 Python網路爬蟲5.1 爬蟲基礎5.1.1 初識爬蟲5.1.2 網路爬蟲的演算法5.2 爬蟲入門實戰5.2.1 呼叫API5.2.2 爬蟲實戰5.3 爬蟲進階—高效率爬蟲5.3.1 多程序5.3.2 多執行緒5.3.3 協程5.3.4 小結第6章 Python資料儲存6.1 關係型資料庫MySQL6.1.1 初識MySQL6.1.2 Python操作MySQL6.2 NoSQL之MongoDB6.2.1 初識NoSQL6.2.2 Python操作MongoDB6.3 本章小結6.3.1 資料庫基本理論6.3.2 資料庫結合6.3.3 結束語第7章 Python資料分析7.1 資料獲取7.1.1 從鍵盤獲取資料7.1.2 檔案的讀取與寫入7.1.3 Pandas讀寫操作7.2 資料分析案例7.2.1 普查資料統計分析案例7.2.2 小結第8章 自然語言處理8.1 Jieba分詞基礎8.1.1 Jieba中文分詞8.1.2 Jieba分詞的3種模式8.1.3 標註詞性與新增定義詞8.2 關鍵詞提取8.2.1 TF-IDF關鍵詞提取8.2.2 TextRank關鍵詞提取8.3 word2vec介紹8.3.1 word2vec基礎原理簡介8.3.2 word2vec訓練模型8.3.3 基於gensim的word2vec實戰第9章 從迴歸分析到演算法基礎9.1 迴歸分析簡介9.1.1 “迴歸”一詞的來源9.1.2 迴歸與相關9.1.3 迴歸模型的劃分與應用9.2 線性迴歸分析實戰9.2.1 線性迴歸的建立與求解9.2.2 Python求解迴歸模型案例9.2.3 檢驗、預測與控制第10章 從K-Means聚類看演算法調參10.1 K-Means基本概述10.1.1 K-Means簡介10.1.2 目標函式10.1.3 演算法流程10.1.4 演算法優缺點分析10.2 K-Means實戰第11章 從決策樹看演算法升級11.1 決策樹基本簡介11.2 經典演算法介紹11.2.1 資訊熵11.2.2 資訊增益11.2.3 資訊增益率11.2.4 基尼係數11.2.5 小結11.3 決策樹實戰11.3.1 決策樹迴歸11.3.2 決策樹的分類第12章 從樸素貝葉斯看演算法多變 19312.1 樸素貝葉斯簡介12.1.1 認識樸素貝葉斯12.1.2 樸素貝葉斯分類的工作過程12.1.3 樸素貝葉斯演算法的優缺點12.2 3種樸素貝葉斯實戰第13章 從推薦系統看演算法場景13.1 推薦系統簡介13.1.1 推薦系統的發展13.1.2 協同過濾13.2 基於文字的推薦13.2.1 標籤與知識圖譜推薦案例13.2.2 小結第14章 從TensorFlow開啟深度學習之旅14.1 初識TensorFlow14.1.1 什麼是TensorFlow14.1.2 安裝TensorFlow14.1.3 TensorFlow基本概念與原理14.2 TensorFlow資料結構14.2.1 階14.2.2 形狀14.2.3 資料型別14.3 生成資料十二法14.3.1 生成Tensor14.3.2 生成序列14.3.3 生成隨機數14.4 TensorFlow實戰希望對你有幫助!!!
貴在堅持,自己掌握一些,在工作中不斷打磨,高薪不是夢!!! -
5 # 黔東南牛龍
任何對自己感興趣的知識和技能,學習起來一定會事半功倍。零基礎想學學程式設計是可以的,要從努力和堅持開始,尤其要藉助現在有的發達的網際網路、大資料、智慧手機等,對學習幫助很大,如果再加強自身英語能力,那就更容易了,下面結合我個人的經歷,針對零基礎學程式設計的一些事,讓大家有一個感性的認識。
八十年代初,我開始接觸程式設計,不過所述的接觸的程式設計是在工廠里加工零件時所用的數控線切割機床的程式設計。那年代程式設計對於一個學機械製造專業的中專畢業生來說是很陌生的。函式計算器、打孔機、紙帶、筆、紙是當時編數控線切割程式必備的工具,所述的紙帶是程式的載體,根據所編寫的程式要逐條逐句穿完指令孔後,又要用眼睛對照在紙上所編寫程式逐條逐句檢查,即使條件差也能圓滿完成工廠下達的任務,所以說零基礎學學程式設計是可以的,何況現在有那麼好條件呢。
從九十代起,個人電腦普遍運用於數控機床,只要在電腦螢幕上畫出圖型程式就能自動生成並加工,現在的電腦就是各種各樣應用程式的集合,幾乎應用於所有行業。
總之,不論數控程式設計、網站網路程式設計以及其它應用程式設計,只要努力堅持並集中於某一自己特別感興趣的應用程式軟體程式設計上,一定會成功的。
下圖是我當時使用的程式紙帶及相關注釋和後來的興趣愛好業餘編制的幾個小應用軟體,另附八十年代廣泛應用的數控線割加工的程式指令格式:
-
6 # 程式設計界ET
怎樣自學程式設計?且看:(文末贈送免費資源)
1.有決心
萬事開頭難,一開始下定決心學開發,肯定會怕失敗,怕浪費時間,記住,如果你想好了,一定要下定決心堅持下去!
2.學會上網搜尋學習
自學程式開發的好處,就是IT資料在網上隨處可以搜到,自學起來很方便,比其他行業都要方便多了,記得時刻上網多查資料學習。
3.多看開源專案
程式設計,開源專案是非常重要的,可以從中得到很多知識,去GitHub或者碼雲上多搜搜相關的開源專案,看別人是怎麼寫的,自己學習一下,這樣進步是非常大的。
4.多做實際專案
開發來說,實際專案也是非常重要的,只有自己做實際專案,把所學的知識運用到實際專案中,才會越學越簡單,才會不容易忘記。
5.對開發有興趣
這一點是非常重要的,興趣是學習的動力,如果你本身對開發很感興趣,那麼相信自己,你學習起來肯定是事半功倍的!
6.要有自信
這一點,是最重要的,很多自學的小夥伴總覺得自己是自學的,基礎不紮實,不專業,最後找工作也心虛,自卑。其實完全不用這樣想!自學的,對於其他途徑的來說,最大的優點就是自己解決問題的能力和自我學習能力,如果你堅持下去,最後完全可以超越專業途徑學習的人。
7.給自學程式設計的夥伴提供一些學習資源 715集java+python學習教程
2019年最新Python400集教程
-
7 # 程式設計師小楊同學
作為零基礎想要自學程式設計的人一定要讀完我寫的這幾個觀點,希望大家少走彎路。
我在前面回答也講過我剛剛開始基礎程式設計自學的是易語言,可能我在這裡學大家學的很low但是沒辦法,當時也沒有人給我引導,如果是今天我肯定會直接學java或者Python之類的,因為今天資料比當年多了好幾十倍。
自學程式設計的第一件事情就是選一門程式設計好的程式語言。我們都知道現在程式語言非常多,c,c++,java,Python ,php等非常多,你要選擇一個你以後想要在那個領域的程式語言。
如果你以後想從事系統底層開發那毋庸置疑c和c++是最合適的了。
如果你想從事企業大型網站開發,那麼java就是首選。
如果你想從事今天非常火的人工智慧和資料探勘相關行業,那可以選擇Python,因為他這方面的框架非常成熟和多。
在這說你想從事中小型網站開發那可以選擇php,入門快,效率高。
以上就是我給大家的選擇參考,大家不要去比較程式語言,每一個程式語言的誕生故事,都有它最擅長的領域。
如果你選擇的是視訊學習,不要一直看要自己跟著視訊去做,看書也是一樣的,有些東西我們覺的會了可是你自己動手的時候發現做不出來那樣的效果,所有一定自己編譯程式執行自己看看效果到底對不對,這樣提高程式設計能力很好。
還有技術在學完技術部分一定要整理一下子所學的東西,不要學完前面的就直接進入下一階段,等學完的時候上一階段又忘差不多了,所以我們學完一個階段根據自己所有東西寫一個程式,這樣提升很大如果想做一個優秀的程式設計師自學也算是一項不能缺少的技術。
我本人也是從事軟體開發好多年了,因為網際網路行業更新迭代非常快,所有我們為不被時代淘汰我們必須自學能力要強,我們也總不能每出來一門新的程式語言都去培訓機構學習,我們要學會檢視官方文件,會整理資料。
-
8 # 灬亦凡
2017-05-13 回答
首先,需要先了解繼電器控制電路,低壓電氣的知識要熟練掌握,並會看梯形圖,這個是電工的基礎。瞭解以後,PLC的學習就簡單多了。 學PLC時,選擇一種常用的PLC型號作為學習目標,比如三菱的Fx系列或者是西門子的S7-200系列。瞭解這個型號PLC的輸入輸出點數、接線方法等。再下載安裝PLC的程式設計軟體,熟悉軟體的操作和常用指令的使用。 最後,把繼電器控制電路轉成梯形圖,轉換後就可以在軟體上編寫梯形圖,這個過程和接繼電器的線路一樣,只不過是把電線換成了軟體裡的連線線。程式寫好後,下載到PLC裡,接上外部的電路(燈、按鈕等)就可以運行了。也可以不接外部線路,PLC都有I/O指示燈,你可以看燈的狀態來判斷程式是否正確。 有的初學者在理論上花了很多功夫,結果半年下來還是沒有把PLC搞懂,其實他們只是缺少了一些PLC的實踐經驗,只要再進行一些實際的梯形圖編寫、程式下載、除錯等操作,增加對PLC的感性認識,很快就可以掌握PLC技術了。 初學時可以編一些簡單的梯形圖,如觸點的與、或、輸出等,在PLC裡執行一下,成功了就會增加你學習的興趣和信心。然後再把PLC的主要功能逐個運用一次,比如高速計數器,你可以用PLC本身的脈衝輸出端接到高速計數器的輸入端,下載編好的梯形圖,開啟變數觀察視窗,執行程式,觀察計數的值是否正確。經過了這樣的實踐,你基本上知道PLC到底能做哪些事情了,在實際的工控應用中就能做到胸有成竹了。 PLC技術是一門實踐性非常強的技術,如果你想學好,那麼你就必須要去實踐。程式設計就像是一位習武之人,如果只是整天坐在家中看拳譜,不出門練武的話,那麼就是葵花寶典,再長的時間你的功力也不會提高。哦,對,葵花寶典練習之前還得做個小手術。學習PLC也是同樣的道理,光看書作用不大。 在學習PLC書本知識的過程中,肯定會對許多指令不是很瞭解,如果看不懂指令的話,那麼這將是學習PLC的最大障礙。因此進行實際應用,逐一攻破,這樣,你的PLC知識不但會學得牢固,而且在學習的過程中你掌握了實際使用。怎麼實踐呢?兩個辦法,最簡單一個,模擬軟體,幾乎每款PLC都有模擬軟體。可以在模擬軟體中練習指令的應用。但是有的模擬軟體功能還有欠缺。第二,買套PLC,買?很貴吧,我沒錢啊!不貴,自己買感覺有壓力的話可以聯合兩三個同學一塊買一套。中國產仿西門子S7-200的PLC很便宜,幾百塊錢。 另外呢,還可以結合一些學習視訊,跟著教學視訊系統科學地學習一遍,邊學邊練效果最明顯
-
9 # ma小奎的碼世界
0基礎的朋友想學習程式設計,我認為應該先做好三點。
第一,打好基礎。要想學會程式設計就應該先學習計算機的基礎知識。這是不管從事哪方面的程式設計都需要掌握的。正所謂“基礎不牢,地動山搖”。即便是掌握了一門程式語言的語法,也難以深入。大家可以參考以下幾門課程:
《計算機文化基礎》,《數位電路》,《計算機組成原理》,《彙編原理》,《資料結構》,《作業系統》。如果有時間可以再看看《軟體工程》,可以瞭解些大規模軟體開發的理論。
第二,明確程式設計方向。也就是自己想從事哪方面的程式設計。目前比較多的開發有web,嵌入式等。不同的方向需要學習的程式語言不同。比方說,web方向可以學習java,php,c#,以及這些語言可能要用到的框架,如j2ee。嵌入式方向需要學習c語言,c++或彙編。
第三,明確要從事程式設計的行業現在程式設計已經深入進許多行業中,不如銀行,電信,證券等等。要想在這一行業發展,也必須掌握本行業的基本知識,要不程式設計就無從下手。
希望以上回答能幫助到你。
-
10 # 心境讀書
其實學程式設計,沒有大家想象的那麼難,當然也沒有想象的那麼簡單。
之所以難,是因為程式是抽象的,我們能看見的就是一行行程式碼,最後卻可以實現各種功能;並且這一行,知識更新非常快,所要學習的知識也是無窮無盡的。
說它簡單,是因為現在很多非相關專業的人士都會往這一行轉,從某種角度來說,它的門檻並不算高。
所以,即便是零基礎,也可以學好程式設計。下面,以個人的看法解答下這個問題,希望可以對你有多幫助。
選定一門初學程式語言:這裡我個人比較推薦學習c語言,不過很多朋友學c語言的時候,學到指標就很難理解了,但是指標也是c語言的精髓。為什麼給大家推薦c語言呢?因為c語言是一門偏底層的語言,對於我們以後理解一些其它的知識有很大的幫助。而相比於一些其它的高階語言,比如java、python等,它們的封裝性都做的很好,而對於低層的實現機制,很多朋友並不是很理解。另外要注意的是,程式語言只是工具,一定不要為了學習語言而學習語言,我們通過學習一門語言,重要的是學習其中的思想和方法。其實程式語言之間很多東西都是通的,比如它們具有類似的語法等等。
學習途徑的選擇:學習途徑其實有很多,現在社會上有一些培訓班,也可以自學。培訓班學習的好處就是會較快入門,並且學習知識較為系統;但是由於現在市面上培訓班有很多,教學質量參差不齊,所以選擇一個好的培訓班也是一個問題。那麼自學的問題就在於學習方向容易偏,效率問題等。如果一定要自學的話,個人建議可以在網上搜一些視訊,要那種成套的,成系統的視訊,這樣有利於成體系的學習。另外需要選擇搭配學習的入門書籍。
學習效果的檢驗:學習的知識一定要使用,也就是說平時學的東西一定要通過程式碼練習來掌握。在學習到一定的程度後可以通過做一些小專案來鍛鍊自己的綜合能力,通過程式碼鍛鍊自己的邏輯思維能力。
回覆列表
很多零基礎想學程式設計的童鞋們,往往覺得程式設計太難,自學完全學不進去。其實大部分都是因為沒有找到對的方式方法,導致學習起來困難重重。
高效學習,並不意味著要走捷徑、抄近道。
對於新手來講,首要的事情肯定還是一步步地打好基礎。無論是看書,還是看視訊課程,都可以從入門基礎技術入手。這也有助於之後學以致用,甚至觸類旁通。
都說“一個人的成長取決於他工作之外的時間”,當然,並不是說一天到晚二十四小時一頭紮在程式設計上,而是說要利用好碎片時間,花費更多的時間去學習,不斷積累會讓你的學習更有成效。
三人行,必有我師,與其自己悶頭研究,不如多與同行交流,各取所長,更加高效。
還有一個很好的習慣就是定期培訓,因為個人的接觸面畢竟有限,有一些新的技術,或者新的思維單憑個人能力有限,而去專業IT培訓機構學習,因為更加專注和專業,對新技術的把控也比較快,能夠更快的提升自己的程式設計能力。
感覺程式設計難,剛剛學習程式設計會走很多彎路,想找一個合適的方法學習。有這樣想法是值得鼓勵的,至少是知道怎麼學習更好。
計算機重點在於用已有的知識架構搭建功能,而構建功能的步驟是固定的,只是需要掌握牢基礎知識,並且提升自己的思考能力。思考能力也算是程式設計師的核心了(不是看,不是寫,而是思考,如果照著別人程式碼寫同時帶上了思考,那麼也是有效果的)。
學習程式設計,語言該如何選擇?
對於這些問題,可以參考一下這個 Quora 帖子的最高贊回答:
> 能找一份工作:Java
> 能找一份高薪工作:C/C++> 啥樣工作都能找到:Python> 總能找到一份工作:JavaScript> 永遠找不到工作,但可以讓其他程式設計師敬佩:Smalltalk
其實每個程式語言沒有高低之分,都各自有各自的優點和缺點,說到底都是“給計算機下達命令”然後讓計算機幫你完成你想要達到的效果。
對於在公司上班,你會發現思考時間越來越少,完全是需求到了就馬上知道怎麼寫了。然後就是無聊聽著公司領導介紹,開會討論。但是不要忘了,自己得給自己找事做,停止思考或者習慣了某種思考模式後進步就會減慢,要進步就要不斷嘗試新東西,多思考。
以上就是建議的學習方法,每個人都有自己的學習方式和習慣,適合自己的,才是最好的。