2023年1月18日 星期三

跟著書做~~python 程式設計 - 從入門到進階應用(黃健庭老師)

 感謝黃建庭老師的教學與分享。兩個檔案,一個是練習習題,一個是書本的範例檔

  1. 第一章:
  2. 第二章:
  3. 第三章:tuple(依序、不能更改)、list(依序、可以更改)、
        dict(key不能重複,無序)、set(不能重複、無序)
                     python3.7以後 dict 變成有序。

    3-1:tuple用()。若只有一個值,最後要加逗號,例如:t = (6,)。不能增加。
    3-2:list用[]。list.append('香蕉')將值放在最後,list.insert(4,'蘋果')將值安插在第四個位置,可以list.remove('蘋果'),也可以del list[1:4]。
    list1 = list2,修改其中一個另一個會同步改變。可以用list2 = list1.copy()、list2 = list1[:]
    3-3:dict用{}、{key:values}。dict={1:'hello' , 'call':'hi'}。刪除用del dict['call']。取得用dict.get('call' ,'若沒有還可以顯示這個喔')。增加直接用dict['good']='job'。
    跟list一樣,要使用 dict2 = dict1.copy()for 讀取看colab範例。
    3-4:set用 set() 或 {}。set(集合)會自動刪除重複的元素。可以使用聯集(a|b)取得所有的元素。交集(a & b)取a與b都有的。差集(a-b) 取a裡面b沒有的。互斥(a ^b) = 聯集 - 交集。
  4. 第四章:
  5. 第五章:計算字的數量。word = 'elephant'
    word_count = { letter : word.count(letter)  for  letter in set(word) }
  6. 第六章:
    6-3-3:函式的引數。
        def fun1( *args),一個*表示是組成tuple,例如 fun1(1,2,3),產生(1,2,3)
        def fun2 (start , *args , **kw ),兩個**表示是字典,例如fun2(1, 2, 3, a=4, b=5),
        產生 1, (2,3) {'b' : 5, 'a' : 4}
    6-4:函式說明文件。
    用三個'''包住說明文件'''。例如def min(a, b),可以用help(min)或是print(min.__doc__)
    6-7:有提到yeild,可以回傳上次函式的狀態,不會從頭到尾都執行。有點不懂@@
  7. 第七章:if (__name__ == '__main__'):可以偵測這個檔案是否是執行自己,而不是被import
  8. 第八章:
  9. 第九章:
  10. 第十章:look colab files
  11. 第十一章:
  12. 第十二章:
  13. 第十三章:做習題的時候,應該是為先寫入學生,就先寫成績,導致出現
    "DatabaseError: database disk image is malformed"感謝茶包分享。感謝Ruyut分享開啟SQLite軟體(但malformed開不了,哭@@),因為SQLite會有亂碼,感謝程式人生。試試看TP辦公通的方法。以上都不行。
    且用DB Browser修改後也不行。可能是動作太快,導致上傳沒完成,就連線(若沒有檔案就會新增,所以才會出現school.db、school(1).db)

  14. 第十四章:
    14-2-2:使用pyqrcode,要先pip install pyqrcode,在colab跟jupyter都顯示沒有png模組,所以去pipy.org看一下,真的要另外install。
    14-3-1:numpy的陣列,dtype好像有改變,書上是dtype=np.float64,colab可以執行。
    brilliant分享矩陣相乘的說明
    14-3-2:scipy,計算出兩點的距離。
  15. 第十五章:

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。