標籤:檔案中 形參與實參 **kwargs 傳回值 輸出 簡單 檔案 操作 處理
1.簡述Python的運行過程
在說這個問題之前,我們先來說兩個概念,PyCodeObject和pyc檔案。
我們在硬碟上看到的pyc自然不必多說,而其實PyCodeObject則是Python編譯器真正編譯成的結果。我們先簡單知道就可以了,繼續向下看。
當python程式運行時,編譯的結果則是儲存在位於記憶體中的PyCodeObject中,當Python程式運行結束時,Python解譯器則將PyCodeObject寫回到pyc檔案中。
當python程式第二次運行時,首先程式會在硬碟中尋找pyc檔案,如果找到,則直接載入,否則就重複上面的過程。
所以我們應該這樣來定位PyCodeObject和pyc檔案,我們說pyc檔案其實是PyCodeObject的一種持久化儲存方式。
2.copy是淺賦值,只是賦值了第一層的記憶體位址。
3.輸出For 迴圈中的index的處理方式。
4.函數式編程----過程式編程 均使用def定義
過程是沒有傳回值的函數
5.為什麼函數需要有傳回值?
最大作用是獲得函數操作後的唯一結果
6.函數的調用方式
def test(x,y): print(x) print(y)# 位置參數調用:形參與實參必須一一對應# test(1,3)# 關鍵字調用:位置無須對應test(y=1,x=2)# 混合:關鍵字調用必須位置參數之後test(1,y=3)def test(x,y=2): print(x) print(y)‘‘‘使用預設參數的函數,調用函數的時候預設參數非必須傳遞‘‘‘# 只傳遞一個參賽,使用預設參數test(1)# 傳遞兩個參數:實參覆蓋預設值test(1,2)
(1)形式參數
*args:接受N個位置參數,轉換成元組接受不固定參數(位置參數) ---變成元組
def test(*args): print(args)test(3,5,7,8)#(3, 5, 7, 8) 輸出結果
(2)**kwargs:把N個關鍵字參數,轉換成字典的方式.
def test(**kwargs): print(kwargs)test(name=‘wfb‘,age=19)# {‘name‘: ‘wfb‘, ‘age‘: 19} 輸出結果
Python小知識點(2)