如何定義Python函數說明
若先定義映射的概念,可以簡單定義函數為,定義在非空數集之間的映射稱為Python函數。 say_id就是對象的函數,你能夠調用它。每個對象的函數都需要一個self參數,表示[color]這個對象。
而且對象能夠把數據和操作數據的Python函數放在一起,能夠比較清晰。雖然有所謂的數據隱藏的概念,但是在Python中其實就是一個不要直接調用對象中的數據的約定。而要用一個函數作為中轉。其實不懂面向對象很正常,其實有的時候就是要在用的中間感悟的。什么時候把用函數編程用牛了。
用出個道道來了,說不定你已經感覺到了什么是面向對象編程。另外:所謂什么OO,都是一些認為規定,不用語法支持,只要心中有這個想法(什么想法?自己悟啊),就能夠寫出OO的代碼,不管你用的是什么語言,什么語法。
圖形界面的奧秘其實并不深奧。我相信很多人學習windows編程都是從寫一個窗口開始的,而且都是從嘗試理解那個消息和事件驅動的模型入手的。大體的過程是這樣的,窗口就是用象素畫出來的。你可以把一個窗口想象成一個窗口,也可以把窗口看成一堆象素的集合。就像有人說看女色不過是皮肉色相一樣。
而且窗口中的按鈕,編輯礦,各種圖標,無論是什么看起來像一個”物體“的東西,其實本質上都是有應用程序或者是庫或者是操作系統調用顯卡的驅動,通過顯卡的功能在屏幕上繪畫一些點出來。而所謂的”物體“有很多稱法,在windows中一般成為控件(control)。
而對于圖形界面的操控一般是通過鼠標和鍵盤來完成的。鼠標在屏幕上有一個自己的形象,那就是一個箭頭(當然你也可以調整這個圖形為其他好玩的東西,it is your freedom)。而鍵盤呢則一般表示為一個虛線的框,表示這個是鍵盤的”焦點“所在的地方。
或者是編輯框中閃動的豎杠。Python函數這兩點中有一個共同點,就是都有一個位置來確定要操作的對象。你點下鼠標的時候,你操作的就是鼠標的箭頭***指向的那個空間,而鍵盤按下也是在其焦點所在的控件那兒放聲。
發生的是什么呢?發生的過程從硬件層面到軟件層面之后,最終是被操作系統接收。操作系統能夠知道你是點擊的是鼠標還是鍵盤,在什么一個地方點下的,而且按下的是左鍵還是右鍵。操作系統還知道當前窗口各處擺放的位置。
綜合各路的信息,操作系統就能夠知道把這個”事件“作為”消息“發送給哪個窗口來處理。從中應該能夠明白什么叫事件,而消息呢則是一個C中的結構體,其中有幾個field中間放了有關這個事件的信息。
然后就像一封信一樣從操作系統投遞到了窗口所在的應用程序。然后應用程序有一個事先注冊的”窗口過程“,其實就是一個函數,用來接收這封“信”。其實就是接收到傳過來的參數。
然后再進行一些判斷,作出一定的響應。這個就是所謂的事件驅動。在沒有冗長的代碼,和展示所有細節的情況下,如果你真的以前對這個過程一無所知,肯定會覺得非常茫然。這個一筆帶過的敘述其實只是讓你有一個感性的認識。其實在Python中使用窗口根本不用管諸葛么多。
基本上只是把自己要的窗口和控件,給一些位置的參數,一些文字的提示內容的參數就能把窗口擺好,顯示出來。然后再通過代碼告訴Python函數,當“這個按鈕按下的時候執行這個函數”,然后就能讓窗口有響應。
***記得給一個退出窗口的辦法就一切OK了。其中能省的復雜度基本上都被庫給隱藏掉了。付出的代價是慢一些,但是我就不相信你能感覺出來,除非你用的電腦連vcd都看不流暢。所以大可放心的享受這種便利。
【編輯推薦】

















