国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Python交互式編程導論----事件驅動編程

2019-11-14 17:34:51
字體:
來源:轉載
供稿:網友

傳統的編程是如下線性模式的:

開始--->代碼塊A--->代碼塊B--->代碼塊C--->代碼塊D--->......--->結束

每一個代碼塊里是完成各種各樣事情的代碼,但編程者知道代碼塊A,B,C,D...的執行順序,唯一能夠改變這個流程的是數據。輸入不同的數據,根據條件語句判斷,流程或許就改為A--->C--->E...--->結束。每一次程序運行順序或許都不同,但它的控制流程是由輸入數據和你編寫的程序決定的。如果你知道這個程序當前的運行狀態(包括輸入數據和程序本身),那你就知道接下來甚至一直到結束它的運行流程。

 對于事件驅動型程序模型,它的流程大致如下:

開始--->初始化--->等待

 與上面傳統編程模式不同,事件驅動程序在啟動之后,就在那等待,等待什么呢?等待被事件觸發。傳統編程下也有“等待”的時候,比如在代碼塊D中,你定義了一個input(),需要用戶輸入數據。但這與下面的等待不同,傳統編程的“等待”,比如input(),你作為程序編寫者是知道或者強制用戶輸入某個東西的,或許是數字,或許是文件名稱,如果用戶輸入錯誤,你還需要提醒他,并請他重新輸入。事件驅動程序的等待則是完全不知道,也不強制用戶輸入或者干什么。只要某一事件發生,那程序就會做出相應的“反應”。這些事件包括:輸入信息、鼠標、敲擊鍵盤上某個鍵還有系統內部定時器觸發。

     Python中利用simplegui模塊實現程序交互,結構如下:

 

   以下是一個簡單的交互編程程序:

 

 1 # Import the module 2 import simplegui 3  4 # Define global variables (PRogram state) 5 counter = 0 6  7 # Define "helper" functions 8 def increment(): 9     global counter10     counter = counter + 111 12 # Define event handler functions13 def tick():14     increment()15     print counter16 17 # Create a frame18 frame = simplegui.create_frame("Test",100,100)19 20 # Register event handlers21 timer = simplegui.create_timer(1000,tick)22 frame.add_button("Click me!",tick)23 24 # Start frame and timers25 frame.start()26 timer.start()

 

 

  


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西林县| 仁怀市| 武汉市| 南漳县| 安义县| 黄大仙区| 霍林郭勒市| 城固县| 双鸭山市| 汉源县| 和田县| 合川市| 布拖县| 宿州市| 台州市| 吉林市| 客服| 蒙自县| 鹿邑县| 上栗县| 绥江县| 内乡县| 托里县| 平邑县| 杭锦后旗| 时尚| 紫阳县| 东光县| 兴隆县| 浠水县| 玉屏| 西乌| 永吉县| 噶尔县| 黄石市| 北碚区| 封开县| 景宁| 曲沃县| 濉溪县| 遂昌县|