国产探花免费观看_亚洲丰满少妇自慰呻吟_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()

 

 

  


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洛宁县| 灵丘县| 平舆县| 叙永县| 北辰区| 高唐县| 辽源市| 宿松县| 荣成市| 民和| 万州区| 泰来县| 锦屏县| 阳朔县| 读书| 华安县| 定南县| 台中县| 金平| 沙湾县| 沧源| 德令哈市| 石台县| 樟树市| 徐汇区| 宁城县| 新竹市| 德格县| 霍山县| 乌恰县| 龙海市| 岗巴县| 法库县| 怀化市| 承德县| 土默特左旗| 威信县| 萨嘎县| 保康县| 广丰县| 南投县|