Python 線上課程共學心得分享

以下只是小弟發表這次參與線上共學 Python 課程的一些心得分享,文或有些長,如無興趣,可不必往下深讀:

之前趁著 Udemy 類 Black Firday 的大減價(幾乎大部分課程定價都降到 330 元新台幣),買了幾堂線上課,其中有兩門課,碰巧是 Sky 大在推線上共學的推薦課程: Wilson Ren 老師開的 2022 Python 全攻略 以及 2022 網頁開發全攻略,會注意到這兩門課,是我又在 StudyCamp 站台看到,sky 大大為了讓這社群能夠發揮除了提供限免線上課程 coupon 之外,能夠更健康的推動大家來共學,因此明明自己已是有經驗的程式工作者還不惜自身下海實地號召和參與這兩門課的每週共學分享,因此想說自己是自學 python,基礎也不是很扎實,想看看這次百日馬選讀的這兩門課,或能幫助自己在提升一些沒學好的基礎。

而這次假日,正好一些事情告一段落,時間稍有空檔,想說平時趕著上 Deep Drive 系列課程,剛好利用這個空檔時間來看看這兩門課,轉換一下心情,由於是中文解說,加上 Wilson 老師口條不錯,講解也蠻詳實的,加上自學 Python 也有些時日,因此一路聽下來還蠻輕鬆的,由於有些老師解說的基本的概念,我已經懂了,因此邊聽,還能邊瀏覽老師課程的問答,其中有一個問答吸引了我,如以下附圖,有人詢問 print(list_1.insert(2, ‘5566’)) 為何印不出來,由於之前聽過 Deep Drive I,因此很快我就找到答案,但心裡又覺得,難道就真的完全無解了嗎? 於是想動動腦,看能否找到其他解決方法,這還得感謝 Fred 老師先前深挖的一些觀念,讓我很快的找到方法,大家不妨也可以自己腦力激盪看看,能否找到其他解法,我的解答我放在留言中,提供大家參考。而之所以特別記錄,是因為學的過程中,其實我並沒有覺得自己好像有變強,而其實學這些較概念東西的過程,就像學物件導向一樣,其實沒法一下子就放到自己日常的程式實作中,因此其實學習過程有時會覺得有些枯燥,也沒能像老師一樣,信手捻來就能把一些概念貫徹或內化在自己的程式中,而直到這次遇到問題時,我才發現,其實這些細微的努力,已經慢慢的讓我自己的基礎能更扎實,對於問題解決方法,能有更多面向的考量,也學會自己來檢驗自己的假設是否正確,從以前不知其然,心裡一頭問號,慢慢能夠自己自問自答的來驗證自己建立的假設與模型,這經驗讓我變得更加期待當把這所有 Python Deep Drive 系列課程學完之後的我,希望這次和我一起參與 Python Deep Drive 課程共學的夥伴們,大家都能一起達成,完成共學目標,也期待自己能夠變得更強大,與大家共勉之~

4 Likes

我的方法是 print(list_1.insert(2, “5566”) or list_1) 就會是這位問問題的學生原本想要的答案,其實 list.insert() method 是一個 void function,沒有傳回值,就等同 Wilson 老師當時回覆說的 return None;而我修改這樣的 code 可以傳回的原因是因為 None 與任何 object 做 or 運算,其結果都會是後者,再加上程式都是由左至右執行,因此會先執行 list_1.insert(2, “5566”),然後再執行 or 運算,結果是 print(None or List_1) → print(List1),就會是原先期待的結果了~

3 Likes