iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 1
4
Software Development

從零開始學Python系列 第 1

[Day 01] 從零開始學Python - 緒論:寫在前面

註:本文同步刊載在Medium,若習慣Medium的話亦可去那邊看呦!

一年又過去啦!
不曉得各位過得如何呢?
在寫了從LeetCode學演算法系列文章後,
Medium上,
陸續也寫滿了百篇(現在是105篇)的LeetCode系列的教學文章,
也有出了兩門從LeetCode學演算法的教學課程。
但想轉職的學生依舊很多,卻常常不得其門而入,
從發問的同學來看,主要還是因為轉職時找不到一個好的入門途徑。

對一個想入門程式語言的人來說,也許會有很多弄不懂的問題:
我想學寫前端網頁,那我該從JavaScript開始嗎?
CSS要不要會?要不要先懂一些HTML5的語法?
我該用Vue, React, Angular還是什麼東西?
看了一個範例寫購物車,要碰到資料庫,我是不是該碰一些後端?

我想學後端,我該學什麼?
SQL?NoSQL?該用什麼程式?該安裝什麼套件?
我要做一個作品,呈現是不是要弄一個網頁?那我是不是該學一些前端?

我想寫手機程式,該選Android還是iOS的系統?
App層更下面的東西,我該知道嗎?要知道的多深?

我想寫一般程式,我該選Java/C++/C#/Python中的哪一個?
(僅舉例,沒被列到的別生氣XD)
怎樣應用?怎樣寫出視窗程式?

最後,為什麼每個上來都寫Hello World?

入門者最大的問題,就是選項很多,
但他/她不知道這些選項代表什麼,也不知道選擇以後,
該從哪邊開始起步。

這就是這個系列文章的目的,
筆者會嘗試以自己的觀點來表述,
在眾多程式語言中,Python這個選項的優缺點,
帶你學過一遍Python初學所需知道的東西並練習,
並且指一條Python可能的發展路線給你。

由於一個人的思慮總有疏漏的時候,
若文章中有不理解或者筆誤/不小心講錯的時候,
歡迎告訴筆者,筆者會再進行修改。

除此以外,以下是本系列文章的閱讀重點:
1. 只會列一到兩個選項給你
做一件事情的方法有很多種,學Python也是,
如果每個可能性都要列出來,對讀者來說太累了(對筆者也是XD),
在一般狀況下,筆者會只列一至兩種操作/撰寫方式,
其他的變化或者選項,有興趣的讀者可以再自行深入研究。

2. 盡量用容易解釋的方式,整組打包
每一個函式都有它的用法,
筆者會盡量將其變得較易理解,
在避免太多定義的狀態下,
將能組在一起的函式形成一起的範例來解釋。

3. 練習範例及題目
文章中的練習範例,請務必自行打一遍並執行成功才算數(不是複製貼上!)
如果有練習的題目的話,會在隔天給出解答,
但希望讀者當天就嘗試自己做出來,再來看答案呦!

4. 前導知識及配備
雖然本文不預設讀者有學過程式語言,
但仍希望讀者能擁有一台可以上網的電腦,
以及起碼會下載軟體並安裝。
(恩...就是Next->Next->......->Finished/Done)

5. Python適合的讀者
如果你想當前端工程師 ->
Python+Flask可以做,但主流是JavaScript的系列框架,
請找Web前端相關語言的學習資源,本篇不適合你

如果你想當後端工程師 ->
Python+MongoDB或其他資料庫(NoSQL/SQL的都有)可以做
其他常見的如Java, Golang, Node.js等也都可以做,
所以你可以先看你將來想要找哪些公司的職缺,
再看看他們要的是否為Python後端。

如果你想當韌體工程師 ->
通常這都是C/C++的工作,本篇不適合你

如果你想當App工程師 ->
通常這都是Kotlin/Swift的工作,最多加上比較偷懶的React Native,
或是用Unity3D之類的軟體撰寫,本篇不適合你

如果你想當網頁爬蟲工程師 ->
Python有相關的好用的模組可以使用,
你可以從本篇開始入門基礎,同時可能需要會一些HTML的基礎。
(通常這會跟大數據/輿情分析有關)

如果你想當AI/機器學習/深度學習工程師 ->
雖然也有Java/C++的框架,
目前最主流的就是Python了!
你可以從本篇開始入門基礎,
接下來學習Tensorflow/Keras/PyTorch等深度學習框架,
本篇後面有篇幅的話,會再推薦一些適合的學習資源。

歡迎來到Python的世界,
接下來一個月就讓我們一起加油吧!


下一篇
[Day 02] 從零開始學Python - 語言起源及安裝使用:偉大的東西常常是無心插柳柳橙汁
系列文
從零開始學Python30

尚未有邦友留言

立即登入留言