最近讀Flask的文檔,讀到很多關於Context(上下文)的術語,如應用上下文,請求上下文等,查閱資料但沒有得到理解?有沒有比較好的解釋?
每一段程序都有很多外部變量。只有像Add這種簡單的函數才是沒有外部變量的。一旦你的一段程序有了外部變量,這段程序就不完整,不能獨立運行。你為了使他們運行,就要給所有的外部變量一個一個寫一些值進去。這些值的集合就叫上下文。
你查不到是因為上下文這個東西不是一個具體的東西,上下文在不同的地方表示不同的含義,要感性理解。
context其實說白了,和文章的上下文是一個意思,在通俗一點,我覺得叫環境更好。
....
林沖大叫一聲“啊也!”
....
問:這句話林沖的“啊也”表達了林沖怎樣的心里?
答:啊你個頭啊!
看,一篇文章,給你摘錄一段,沒前沒后,你讀不懂,因為有語境,就是語言環境存在,一段話說了什么,要通過上下文(文章的上下文)來推斷。
子程序之於程序,進程之於操作系統,甚至app的一屏之於app,都是一個道理。
程序執行了部分到達子程序,子程序要獲得結果,要用到程序之前的一些結果(包括但不限於外部變量值,外部對象等等);
app點擊一個按鈕進入一個新的界面,也要保存你是在哪個屏幕跳過來的等等信息,以便你點擊返回的時候能正確跳回,如果不存肯定就無法正確跳回了。
看這些都是上下文的典型例子,理解成環境就可以,(而且上下文雖然叫上下文,但是程序里面一般都只有上文而已,只是叫的好聽叫上下文。。進程中斷在操作系統中是有上有下的,不過不給題主說了,免得產生新的問題)
在平時開發中,經常會看到一個詞語“上下文”,那這究竟是一個什么概念呢?在百度上查閱了幾篇博文后,發現這東西並不是什么實在的東西,而是一種描述事情的邏輯技巧、或者說是開發中的一種思維形式。
結合現實,
(1)我們向別人講述一件事情時,一般是先給出故事的前提(如社會背景,當時的人物狀態),這些“前提”就是上文,而從這些前提出發,再講述故事的詳細情況,這就是下文。
(2)編程時,我們一般也是先給程序定義一些前提(環境變量、描述環境變化的全局變量等),這些“前提”就是上文,然后再編寫各功能模塊的代碼,這是下文。
其實,現實生活中,上下文更多體現的是一種思維模式,而不是一種具體方法,更不是一樣東西。
---------------------
作者:Lucky@Dong
來源:CSDN
原文:https://blog.csdn.net/zzddada/article/details/90347418
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!