t.png

什麼是regular expression

一般在程式語言的應用上,程式設計人員會稱它為正規表達式,我個人覺得稱呼它為規則比對式較能反映它的應用,因為在絕大部分的應用上,正規表達式通常被用來檢索搜尋比對、以至於替換那些符合某個樣態或模式的文字內容而資料樣態的描述就是依regular expression(以下用re來簡稱)的語法規定來建立的。不只是python許多程式設計語言都支援利用正規表達式進行檢索或搜尋文章內容的必要操作。

基本上運用re規定的字元組合成樣本資料的型態結構就能讓您在尋找資料或處理資料時方便的多。

一句話簡單扼要地說明:

正規表達式是設計用來解決我們對於目標文件或資料中特定樣本格式資料的搜尋及取得〞

阿丹 發表在 痞客邦 留言(0) 人氣()

深戲.jpg

在介紹這種健康的循環及週期的培養前,先介紹一種身心狀態-「心流」

什麼是心流?它是一種特殊的精神狀態,當你在極度專注時,完全沈浸其中,效率和創造力提高,讓你忘記時間、忘記飢餓、甚至忘記所有不相干的身體訊號。

容易進入心流狀態,目前研究歸納出以下五個條件:

1)你要熱愛你所做的事。

2)你要具備一定的技能,對你做的事有主控的能力。

阿丹 發表在 痞客邦 留言(0) 人氣()

combobox1.png

如何用tkinter combobox部件製作下拉項次選單

當我們在設計用戶互動介面時,遇到要在一系列的選擇項目讓用戶從中只能挑選一個項目時,在視覺上要展現出平常是收合的選單項目,因為不占空間(通常會出現在項目右方帶有往下箭頭的圖案)但當滑鼠點擊圖案時能彈跳出往下的清單列並展示所有的項目供用戶挑選,而且能在挑選完成後會呈現出被挑選的項目時,combobox部件無疑的是最好的選擇。

Combobox很像是entry部件及listbox部件的結合,往下展開的選單就像是listbox的功能,而選擇後會出現被挑選的項目就像是entry部件的功能,只是這個項目是被挑選出來而不是輸入而來的。

舉些例子吧,其實我們日常在網路購物時就一定會碰到這樣的設計需要,購買衣服時需要選擇尺寸(SMLXL)、購買的數量(12345)、運送地址的縣市選擇(台北市、新北市、基隆市、….)、行政區的選擇(中正區、中山區、大安區、…..),所以在設計用戶互動介面時,我們不時地會運用到這樣的設計。當然,若我們不透過combobox也可以靠entrylistbox兩個部件來滿足同樣的功能,但還好在ttk模組(ttk模組也可以稱為tkinter的一個子模組)中有combobox的出現,讓整個設計上變得很簡單,只是您要記得,要引用combobox部件時,必需用ttk.Combobox指令,因為在tkinter中不存在這個部件,所以您用tk.Combobox因為呼叫不到會產生程式語法錯誤,必需使用ttk.Combobox才行。

我們就來示範一下建立combobox的步驟及過程中取值的運用:

阿丹 發表在 痞客邦 留言(0) 人氣()

p1.png

我們在日常使用用戶介面時,偶而會看到供用戶參考閱讀的獨立一段文字框(例如說明事項或警語提示)或需讓用戶輸入一些內容來填寫表達(例如客訴內容或自傳描述),這樣的文字框在您使用pythonTkinter提供了text文字框的部件供您使用,另外,在視窗大小有限的情況下,我們不希望這種文字框佔據太多篇幅,這時候就會運用到卷軸scrollbar部件,這樣就能在有限的範圍內透過卷軸完整的閱覽完整的資訊,本章節就是介紹Tkinter中的textscrollbar部件給各位,讓各位在設計互動式UI時對於多行文字的顯示及用戶的多行輸入能夠透過這兩個部件完成,最後有個小驚喜,請您耐心地讀完,當然Tkinter一直在進步,這也是Python opensource(開源軟體的優勢)。

首先介紹文字對話框text

前面的教材提到,我們可以運用tkinterEntry部件來建立用戶輸入功能,但Entry部件僅能支援單行的輸入及顯示功能,遇到了多行說明文字顯示或多行文字輸入時,在tkinter中,text的舞台就出現了,它就像大一點且功能強大的entry部件。所以,這邊歸納text部件很適用的運用場景如下:

  • 多行文字的輸入項,且容許不同的格式(如字型或顏色)

  • 多行文字的說明顯示項(例如說明或提示警語)

阿丹 發表在 痞客邦 留言(0) 人氣()

menu01.png

當我們需要引導用戶去在某一類別中挑選某一個功能項目時,會提供一些項目清單供用戶選擇,就好像菜單一般,當客戶翻到義大利麵類時,下方總會提供歸類為義大利麵但內容不同的各種義大利麵供客戶選擇。

當然,除了選擇項目的用途外,功能選擇也可以用這種方式歸納,除了在使用者容易找尋外,也不會讓眾多的功能選擇散落各處並太佔篇幅影響到UI的設計,就好像我們在微軟的word工具上左上方檔案、常用等項目的設計概念一般,您可以在檔案類別中選擇新增檔案、儲存檔案、另存新檔等。所以運用選單(menu)部件,提供選擇性項目供用戶選擇,就是一個在UI設計選單部件時的不或缺的方便部件。

tkinter中,menu(項目)部件及menubutton(選單按鈕)部件通常會結合一起使用,以達到運用menubutton建立一個選單按鈕並在這個按鈕下建立一些menu可選擇項目供使用者挑選。當然,單單運用menu部件也可以達到同樣的功能,但因為menu部件被定義為視窗等級的部件,只用menu產生的選單物件只能出現在你基底視窗的左上角,而沒辦法讓您任意擺放。所以,在我個人在使用的經驗中,同時運用menumenubutton這兩種部件的結合是最容易教學及是最直覺易懂的方式。

我們就在章節開始時大約說明建立選單物件的整個流程:

  • 產生一個選單按鈕物件menubutton1,選單按鈕的名稱叫『編輯』。

阿丹 發表在 痞客邦 留言(0) 人氣()

images.jfif

我們要練習如何善用心理學的9種可行方式,來強化自己對他人說服力或影響力。

  1. 固定應對幾種情境時的標準話術:我們應該將幾種生活中會常常運用的場景,設計並練習出固定的溝通模式。譬如說,當我們請別人幫忙時,如果能夠說出一個理由,那我們得到幫助的可能性就更大,下面的例子是經過實驗後的結果。

①“對不起,我有5頁紙要複印,能不能讓我先複印啊?因為我有急事”給出一個模糊的理由,有94%的人同意讓實驗者先複印。

阿丹 發表在 痞客邦 留言(0) 人氣()

什麼叫GUIGraphical User Interface-圖形方式顯示的電腦操作用戶介面

在日常生活中,我們在小7ibon機器上訂票、在ATM上提款、在手遊上的使用必殺技打boss、在亞馬遜網站上申請會員、在醫院系統上網路掛號,這些您看到的畫面(人與機器互動的介面),其實都是由程式撰寫出來的,為什麼叫這些介面為GUI,因為我們用圖樣介面設計做法,透過設計視窗、圖示與按鈕,讓使用者一看就了解如何使用的介面來取代枯燥艱澀的輸入問答及只是條列式的互動。我們設計的程式中有一大部分是扮演著與人與系統機制互動的介面角色。雖然設計這些畫面的難度不高,但可千萬別輕忽這種介面設計的重要性,在設計的領域中,有另一個專業的領域叫做UIUser Interface)、UXUser Experience),也是在設計領域上目前的顯學,所教的就是使用者動線及友善的使用介面的設計。成功的系統,往往不是其功能最完整,也不是包山包海最強大,常常是使用者使用最上手,最便利才能勝出。所以記得一件事,最艱澀的難事不見得最有價值,最符合人性而易用的設計通常會無往不利。

原生的Python GUI設計工具-Tkinter

Python 擅長的領域在於數據資料處理、資料科學計算、網路爬蟲籍資料探勘等科學方面,我們也可以利用Python完成很多自動化的工作。雖然設計使用者界面並不是它的強項。但為了滿足設計一條鞭的優勢,Python自己也有提供不錯的GUI設計內含功能Tkinter,也因為Python的使用者越來越多,讓很多GUI專為GUI設計的專業工具如PyQtwxPythonKivyPySide等願意提供整合應用於Python,但我個人覺得,Python這樣全包的程式工具,為了達成人機互動的良好目標,其內含的Tkinter就非常的powerful了,而且它有一個優勢,TkinterPython的內建模組,當Python存在,它就會存在,當然,有很多的使用介面是基於Web(網頁基礎)上設計的,雖然很親民,在網路上網頁無所不在,但常常基於網頁設計的互動介面,常會隨著瀏覽器的更新會出現相容性的問題,相對各有其利弊。

學習Python內含的GUI開發模組Tkinter對於已經有一定Python基礎的人而言是非常容易懂且易於學習,設計出來的程式碼在別人理解及閱讀上也很輕鬆,同時設計出來的GUI又能正常順利的在不同平台(Linux/Windows/Mac)上執行無誤,這些優點讓我不得不在Python的標準課程中介紹讓您認識,學會後拿來應用也讓您覺得自己很酷。有圖有真相,有產出有成就,我們就從如何運用Python內建的tkinter模組來設計友善的用戶使用介面來開始吧!

阿丹 發表在 痞客邦 留言(0) 人氣()

1.png

Tkinter中部件布局(擺放的方式)方法: pack place grid

有了GUI設計的內容,該如何按照我們的需要放入到基底視窗中(基底視窗就如同你設計的桌布一般)呢?這牽涉到部件布局的方式

在我們用tkinter設計GUI過程中,應該運用哪種布局方式來安排各項部件的位置最適合呢?如何對Tkinter 所設計的多項部件作布局安排(各部件間的相對位置)?讓我們談談Tkinter提供的三種布局方法吧?

有哪三種布局方法

Tkinter提供三種方式供我們選擇,分別是:

阿丹 發表在 痞客邦 留言(1) 人氣()

來說說tkinter!

說它的來由很生硬,我們就跳過不談,我們來說說tkinter主要是做什麼的?

前面提到,在軟體設計上,有一個很重要的一環,就是若您設計一個友善的使用者介面,就讓用戶有好的感覺,事情可以說就成功了一半,也許有些硬底工程師不是這麼看,但我保守地說,最起碼事情有一個好的開始吧。

那為什麼是tkinter呢?用Python內建的模組tkinter來設計UI有甚麼優勢呢?

  • 它很直覺,白話一點說,很容易就上手實作。

阿丹 發表在 痞客邦 留言(0) 人氣()

1.png

首先要說明的是,我們現在使用的網際網路服務,是基於透過一個較HTTP的通訊協定來傳送資料,HTTP是一種stateless(無狀態保存)的網路傳輸

HTTP(網際網路共用的通訊協定)成就了網際網路的無遠弗屆,但還得要靠sessioncookies的運用來滿足用戶使用上的便利。

在介紹sessioncookies的作用前,要先從網際網路的基本概念說起........

我們如何使用網路取得所要的資訊呢?概念上用簡單的下圖示意:

我們用戶就稱為client,而資訊提供者就稱為server

阿丹 發表在 痞客邦 留言(0) 人氣()

cmi1.jpg

當然大部分的情況GUI便利易用的多,但還是有些時候CLI來的彈性跟順手的多,真正還是得視其應用的場景來決定!

您想設計的使用者使用環境是這樣呢?

還是希望是這樣?

先說說CLI的英文全名為Command-Line Interface

是在圖形使用者介面得到普及之前使用最為廣泛的使用者介面,它通常不支援滑鼠,用戶通過鍵盤輸入指令,電腦接收到指令後,予以執行。也有人稱之為字符使用者介面(character user interface, CUI

阿丹 發表在 痞客邦 留言(0) 人氣()

事情是這樣的一個人在戰鬥中被敵人的一支箭射中了,身體很疼痛這個人心裡充滿仇恨,心想在下一次戰鬥中,我一定要找到射我的人並還他一箭,然後此人看著身上這支箭,想像這支箭可能有毒,非常擔心,心想如果箭有毒自己就死定了,於是他去諮詢別人,如果中了毒箭該如何處置。這時,有人建議他:「你現在最需要做的是儘快找醫生拔出這支箭」。

這樣的反應,是大部分人類的行徑這個人實際上中了兩支箭,第二支箭就是他中箭後的一系列仇恨與擔心,只不過後面這支箭是他自己射向自己的,而往往第二支箭讓我們遭受的痛苦大於第一支。

人類相對於其他動物來說,大腦皮層更發達,能夠進行更高級的思維、判斷等活動,這對人類文明的發展起到了非常積極的作用。但是我們也必須看到,高度發達的大腦也有其負面作用,那就是過度思維,這我們莫名之中創造了更多的壓力。

人類基因上存在動物對於狀況應變的生物本能基因,這些的基因讓動物或人類可以持續的成存下來,動物因應戰鬥而後逃跑,人類因應壓力以至於放鬆,其實是生物本能對於壓力的正常代謝。

因為這樣的循環讓我們的免疫系統、消化系統及至於自律神經得以獲得協調及平衡人類也因為大腦皮質層的發達讓這樣的應變能力提升了,人類加快了進步的腳步,但也造成會產生壓力不段累積的副作用,再加上層出不窮的複雜環境(環境變異、健康威脅、生活挑戰、社交活動、工作挑戰、等等),讓我們還不待壓力-放鬆的全週期完成,另一個壓力又接踵而至,再加上另一個因大腦複雜帶來的副作用-過度思維,以至於再將病情加重,進入另一層無邊際的壓力並無法消失

阿丹 發表在 痞客邦 留言(0) 人氣()

1 2 3 4
Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。