自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

簡(jiǎn)介豐富多彩的Python應(yīng)用程序

開(kāi)發(fā) 后端
在一個(gè)Python應(yīng)用程序中,我們用一組插件來(lái)實(shí)現(xiàn)一些具有統(tǒng)一接口的功能,我們使用Python來(lái)代替動(dòng)態(tài)鏈接庫(kù)形式的插件。

本文詳細(xì)說(shuō)明Python應(yīng)用程序能夠把數(shù)據(jù)和操作數(shù)據(jù)的函數(shù)放在一起,能夠比較清晰,雖然有所謂的數(shù)據(jù)隱藏的概念,但是在python中其實(shí)就是一個(gè)不要直接調(diào)用對(duì)象中的數(shù)據(jù)的約定,而要用一個(gè)函數(shù)作為中轉(zhuǎn)。

其實(shí)不懂面向?qū)ο蠛苷?,其?shí)有的時(shí)候就是要在用的中間感悟的。什么時(shí)候把用函數(shù)編程用牛了,用出個(gè)道道來(lái)了,說(shuō)不定你已經(jīng)感覺(jué)到了什么是面向?qū)ο缶幊?。另外:所謂什么OO,都是一些認(rèn)為規(guī)定,不用語(yǔ)法支持,只要心中有這個(gè)想法(什么想法?自己悟啊),就能夠?qū)懗鯫O的代碼,不管你用的是什么語(yǔ)言,什么語(yǔ)法。

  1. # setup.py  
  2. from distutils.core import setup  
  3. import glob  
  4. import py2exe  
  5.  
  6. setup(name="myscript",  
  7.       scripts=["myscript.py"],  
  8.       data_files=[("bitmaps",  
  9.                    ["bm/large.gif", "bm/small.gif"]),  
  10.                   ("fonts",  
  11.                    glob.glob("fonts\\*.fnt"))],  

圖形界面的奧秘其實(shí)并不深?yuàn)W。我相信很多人學(xué)習(xí)windows編程都是從寫(xiě)一個(gè)窗口開(kāi)始的,而且都是從嘗試?yán)斫饽莻€(gè)消息和事件驅(qū)動(dòng)的模型入手的。大體的過(guò)程是這樣的,窗口就是用象素畫(huà)出來(lái)的。你可以把一個(gè)窗口想象成一個(gè)窗口,也可以把窗口看成一堆象素的集合。就像有人說(shuō)看女色不過(guò)是皮肉色相一樣。

而且窗口中的按鈕,編輯礦,各種圖標(biāo),無(wú)論是什么看起來(lái)像一個(gè)”物體“的東西,其實(shí)本質(zhì)上都是有應(yīng)用程序或者是庫(kù)或者是操作系統(tǒng)調(diào)用顯卡的驅(qū)動(dòng),通過(guò)顯卡的功能在屏幕上繪畫(huà)一些點(diǎn)出來(lái)。而所謂的”物體“有很多稱法,在windows中一般成為控件(control)。

而對(duì)于圖形界面的操控一般是通過(guò)鼠標(biāo)和鍵盤(pán)來(lái)完成的。鼠標(biāo)在屏幕上有一個(gè)自己的形象,那就是一個(gè)箭頭(當(dāng)然你也可以調(diào)整這個(gè)圖形為其他好玩的東西,it is your freedom)。

而鍵盤(pán)呢則一般表示為一個(gè)虛線的框,Python應(yīng)用程序表示這個(gè)是鍵盤(pán)的”焦點(diǎn)“所在的地方?;蛘呤蔷庉嬁蛑虚W動(dòng)的豎杠。這兩點(diǎn)中有一個(gè)共同點(diǎn),就是都有一個(gè)位置來(lái)確定要操作的對(duì)象。你點(diǎn)下鼠標(biāo)的時(shí)候,你操作的就是鼠標(biāo)的箭頭尖端指向的那個(gè)空間,而鍵盤(pán)按下也是在其焦點(diǎn)所在的控件那兒放聲。發(fā)生的是什么呢?

發(fā)生的過(guò)程從硬件層面到軟件層面之后,最終是被操作系統(tǒng)接收。操作系統(tǒng)能夠知道你是點(diǎn)擊的是鼠標(biāo)還是鍵盤(pán),在什么一個(gè)地方點(diǎn)下的,而且按下的是左鍵還是右鍵。操作系統(tǒng)還知道當(dāng)前窗口各處擺放的位置。綜合各路的信息,操作系統(tǒng)就能夠知道把這個(gè)”事件“作為”消息“發(fā)送給哪個(gè)窗口來(lái)處理。

從中應(yīng)該能夠明白什么叫事件,而消息呢則是一個(gè)C中的結(jié)構(gòu)體,其中有幾個(gè)field中間放了有關(guān)這個(gè)事件的信息,然后就像一封信一樣從操作系統(tǒng)投遞到了窗口所在的應(yīng)用程序。

然后應(yīng)用程序有一個(gè)事先注冊(cè)的”窗口過(guò)程“,Python應(yīng)用程序其實(shí)就是一個(gè)函數(shù),用來(lái)接收這封“信”。其實(shí)就是接收到傳過(guò)來(lái)的參數(shù)。然后再進(jìn)行一些判斷,作出一定的響應(yīng)。這個(gè)就是所謂的事件驅(qū)動(dòng)。在沒(méi)有冗長(zhǎng)的代碼,和展示所有細(xì)節(jié)的情況下,如果你真的以前對(duì)這個(gè)過(guò)程一無(wú)所知,肯定會(huì)覺(jué)得非常茫然。這個(gè)一筆帶過(guò)的敘述其實(shí)只是讓你有一個(gè)感性的認(rèn)識(shí)。#t#

其實(shí)在python中使用窗口根本不用管諸葛么多。基本上只是把自己要的窗口和控件,給一些位置的參數(shù),一些文字的提示內(nèi)容的參數(shù)就能把窗口擺好,顯示出來(lái)。然后再通過(guò)代碼告訴python,當(dāng)“這個(gè)按鈕按下的時(shí)候執(zhí)行這個(gè)函數(shù)”,然后就能讓窗口有響應(yīng)。

最后記得給一個(gè)退出窗口的辦法就一切OK了。Python應(yīng)用程序其中能省的復(fù)雜度基本上都被庫(kù)給隱藏掉了。付出的代價(jià)是慢一些,但是我就不相信你能感覺(jué)出來(lái),除非你用的電腦連vcd都看不流暢。所以大可放心的享受這種便利。

責(zé)任編輯:chenqingxiang 來(lái)源: 博客園
相關(guān)推薦

2010-02-06 16:02:57

Android 應(yīng)用程

2010-02-22 18:25:07

2010-02-03 18:06:42

Python語(yǔ)言

2009-12-17 14:45:37

Visual Stud

2010-01-06 16:02:53

2010-02-26 17:54:54

python

2010-01-13 18:30:18

CC++程序設(shè)計(jì)

2010-02-05 16:28:07

Android

2010-03-03 16:08:20

Android手機(jī)系統(tǒng)

2010-01-14 15:15:39

C++Test

2010-01-27 10:29:39

C++代碼解析

2009-12-22 17:00:58

ADOMD.NET對(duì)象

2009-12-18 15:49:12

ADO.NET組件

2010-01-12 14:52:00

C++技術(shù)

2010-03-19 14:12:06

太網(wǎng)交換機(jī)

2010-02-04 14:27:11

2009-12-09 10:34:10

嵌入式Linux操作系

2021-11-12 20:00:52

Linuxcowsay命令

2009-12-17 14:01:44

Visual Stud

2009-12-31 14:56:36

ADO.NET Ent
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)