Inhaltsverzeichnis
回复内容:
Heim Backend-Entwicklung Python-Tutorial 编程中什么是「Context(上下文)」?

编程中什么是「Context(上下文)」?

Jun 06, 2016 pm 04:22 PM
context flask

最近读Flask的文档,读到很多关于Context(上下文)的术语,如应用上下文,请求上下文等,查阅资料但没有得到理解?有没有比较好的解释?

回复内容:

每一段程序都有很多外部变量。只有像Add这种简单的函数才是没有外部变量的。一旦你的一段程序有了外部变量,这段程序就不完整,不能独立运行。你为了使他们运行,就要给所有的外部变量一个一个写一些值进去。这些值的集合就叫上下文。


譬如说在C++的lambda表达是里面,[写在这里的就是上下文](int a, int b){ ... }。

context是environment的snapshot. 你查不到是因为上下文这个东西不是一个具体的东西,上下文在不同的地方表示不同的含义,要感性理解。

context其实说白了,和文章的上下文是一个意思,在通俗一点,我觉得叫环境更好。

....
林冲大叫一声“啊也!”
....

问:这句话林冲的“啊也”表达了林冲怎样的心里?
答:啊你妈个头啊!

看,一篇文章,给你摘录一段,没前没后,你读不懂,因为有语境,就是语言环境存在,一段话说了什么,要通过上下文(文章的上下文)来推断。

子程序之于程序,进程之于操作系统,甚至app的一屏之于app,都是一个道理。

程序执行了部分到达子程序,子程序要获得结果,要用到程序之前的一些结果(包括但不限于外部变量值,外部对象等等);

app点击一个按钮进入一个新的界面,也要保存你是在哪个屏幕跳过来的等等信息,以便你点击返回的时候能正确跳回,如果不存肯定就无法正确跳回了。

看这些都是上下文的典型例子,理解成环境就可以,(而且上下文虽然叫上下文,但是程序里面一般都只有上文而已,只是叫的好听叫上下文。。进程中断在操作系统中是有上有下的,不过不给题主说了,免得产生新的问题) 和其他传入对象参数没什么区别。

但是通常使用Context来描述有几个特点:
  1. 被传入Context的部分(组件),内部需要频繁的获取Context的data和调用function。对context有很强的依赖,实现建立在context的基础上。
  2. Context会被较为多数部分(组件)所需要,在软件实现部分Context会在某个scene下出现单一实例化,然后被多个部分(组件)实例对象调用。出现局部全局化。
  3. Context会持有很多状态data。
  4. Coder习惯,命名选择困难下的胶合产物。

另外 Context的中文翻译是谁想出来的,站出来我保证不打你。 其他语言不知道。
在 Scheme 中完整的表述应该是 e 在 E 中的上下文,其中 E 是一个表达式,e是该表达式的子表达式。
如 (+ 1 2 3) 中有子表达式 2 ,那么 2 在 (+ 1 2 3) 中就有一个上下文。
在 Scheme 中上下文是一个过程(即函数)。
构造这个函数很简单,第一步把子表达式挖掉,用空洞(hole) 占住位置。
(+ 1 ~ 3),~ 表示空洞。
第二步,将上一步的结果用 lambda 包裹起来,得到函数。
(lambda (~) (+ 1 ~ 3))。即为 2 在 (+ 1 2 3) 中的上下文。
同理 (+ 2 3) 在 (/ (+ 2 3) 4) 中的上下文即是函数 (lambda (~) (/ ~ 4))。

上下文有一个性质,用原来的子表达式调用上下文时得到原来的表达式。
((lambda (~) (+ 1 ~ 3)) 2) ;;=> (+ 1 2 3)
((lambda (~) (/ ~ 4)) (+ 2 3)) ;; => (/ (+ 2 3) 4)

因为上下文有这个性质,可以很方便的用上下文来解释 不动点(y 组合子) 和 延续等概念。 在语言学里,语意学(semantics)不包含语境(context),语用学(pragmatics)则考虑到语境对语意的影响。

在编程中,也就是一些编程构件(如函数)需要考虑到当时的编译/运行环境,才能理解它的语意/运行结果。 理解了stateless的概念就不会有疑惑了。 基于会话,每个处理模块的通信需要一个会话识别标识和内容容器内交换,那个就是上下文。 一般来说是想要有个object来保存状态,想不出好的名字然后就叫context了 简单的说就是一个状态,当与其它模块进行交互,其它模块执行完了通知你的时候,通过context你就可以知道在交互之前你的模块是一个什么样的状态,然后你可以按照这个状态做相应的处理。
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So erstellen Sie einfache und benutzerfreundliche Webanwendungen mit React und Flask So erstellen Sie einfache und benutzerfreundliche Webanwendungen mit React und Flask Sep 27, 2023 am 11:09 AM

So erstellen Sie mit React und Flask einfache und benutzerfreundliche Webanwendungen. Einführung: Mit der Entwicklung des Internets werden die Anforderungen an Webanwendungen immer vielfältiger und komplexer. Um den Anforderungen der Benutzer an Benutzerfreundlichkeit und Leistung gerecht zu werden, wird es immer wichtiger, moderne Technologie-Stacks zum Aufbau von Netzwerkanwendungen zu verwenden. React und Flask sind zwei sehr beliebte Frameworks für die Front-End- und Back-End-Entwicklung, und sie arbeiten gut zusammen, um einfache und benutzerfreundliche Webanwendungen zu erstellen. In diesem Artikel erfahren Sie, wie Sie React und Flask nutzen

Beginnen Sie bei Null und führen Sie Schritt für Schritt durch die Installation von Flask und die schnelle Einrichtung eines persönlichen Blogs Beginnen Sie bei Null und führen Sie Schritt für Schritt durch die Installation von Flask und die schnelle Einrichtung eines persönlichen Blogs Feb 19, 2024 pm 04:01 PM

Von Grund auf werde ich Ihnen Schritt für Schritt beibringen, wie Sie Flask installieren und schnell einen persönlichen Blog erstellen. Als Person, die gerne schreibt, ist es sehr wichtig, einen persönlichen Blog zu haben. Als leichtes Python-Web-Framework kann Flask uns dabei helfen, schnell ein einfaches und voll funktionsfähiges persönliches Blog zu erstellen. In diesem Artikel fange ich bei Null an und zeige Ihnen Schritt für Schritt, wie Sie Flask installieren und schnell einen persönlichen Blog erstellen. Schritt 1: Python und pip installieren Bevor wir beginnen, müssen wir zuerst Python und pi installieren

Django vs. Flask: Eine vergleichende Analyse von Python-Web-Frameworks Django vs. Flask: Eine vergleichende Analyse von Python-Web-Frameworks Jan 19, 2024 am 08:36 AM

Django und Flask sind beide führend bei Python-Web-Frameworks und haben beide ihre eigenen Vorteile und anwendbaren Szenarien. In diesem Artikel wird eine vergleichende Analyse dieser beiden Frameworks durchgeführt und spezifische Codebeispiele bereitgestellt. Entwicklungseinführung Django ist ein Web-Framework mit vollem Funktionsumfang, dessen Hauptzweck darin besteht, schnell komplexe Webanwendungen zu entwickeln. Django bietet viele integrierte Funktionen wie ORM (Object Relational Mapping), Formulare, Authentifizierung, Verwaltungs-Backend usw. Diese Funktionen ermöglichen es Django, große Mengen zu verarbeiten

Anleitung zur Installation des Flask-Frameworks: Detaillierte Schritte, die Ihnen bei der korrekten Installation von Flask helfen Anleitung zur Installation des Flask-Frameworks: Detaillierte Schritte, die Ihnen bei der korrekten Installation von Flask helfen Feb 18, 2024 pm 10:51 PM

Tutorial zur Installation des Flask-Frameworks: Bringen Sie Ihnen Schritt für Schritt bei, wie Sie das Flask-Framework korrekt installieren. Einführung: Flask ist ein einfaches und flexibles Python-Webentwicklungs-Framework. Es ist leicht zu erlernen, benutzerfreundlich und voller leistungsstarker Funktionen. Dieser Artikel führt Sie Schritt für Schritt durch die korrekte Installation des Flask-Frameworks und stellt detaillierte Codebeispiele als Referenz bereit. Schritt 1: Python installieren Bevor Sie das Flask-Framework installieren, müssen Sie zunächst sicherstellen, dass Python auf Ihrem Computer installiert ist. Sie können bei P beginnen

Flask vs. FastAPI: Die beste Wahl für eine effiziente Web-API-Entwicklung Flask vs. FastAPI: Die beste Wahl für eine effiziente Web-API-Entwicklung Sep 27, 2023 pm 09:01 PM

FlaskvsFastAPI: Die beste Wahl für eine effiziente Entwicklung von WebAPI Einführung: In der modernen Softwareentwicklung ist WebAPI zu einem unverzichtbaren Bestandteil geworden. Sie stellen Daten und Dienste bereit, die die Kommunikation und Interoperabilität zwischen verschiedenen Anwendungen ermöglichen. Bei der Auswahl eines Frameworks für die Entwicklung von WebAPI haben Flask und FastAPI große Aufmerksamkeit erregt. Beide Frameworks erfreuen sich großer Beliebtheit und jedes hat seine eigenen Vorteile. In diesem Artikel werden wir uns Fl ansehen

Was bedeutet Kontext? Was bedeutet Kontext? Aug 04, 2023 pm 05:27 PM

Kontext sind die Umgebungs- und Statusinformationen, wenn das Programm ausgeführt wird. Er kann eine Vielzahl von Informationen umfassen, z. B. den Wert von Variablen, den Aufrufstapel von Funktionen, den Ausführungsort des Programms usw., sodass das Programm entsprechende Informationen bereitstellen kann Entscheidungen basierend auf unterschiedlichen Kontexten und führen entsprechende Operationen durch.

Ein tiefer Einblick in die Template-Engine von Django und Jinja2 von Flask Ein tiefer Einblick in die Template-Engine von Django und Jinja2 von Flask Sep 28, 2023 am 11:39 AM

Für ein tieferes Verständnis der Template-Engine von Django und von Flasks Jinja2 sind spezifische Codebeispiele erforderlich. Einführung: Django und Flask sind zwei häufig verwendete und beliebte Web-Frameworks in Python. Beide bieten leistungsstarke Template-Engines für die Darstellung dynamischer Webseiten. Django verwendet eine eigene Template-Engine, während Flask Jinja2 verwendet. In diesem Artikel werfen wir einen detaillierten Blick auf die Template-Engine von Django und Jinja2 von Flask und stellen einige konkrete Codebeispiele zur Veranschaulichung ihrer Verwendung bereit.

So verwenden Sie den Kontext, um das Anforderungs-Caching in Go zu implementieren So verwenden Sie den Kontext, um das Anforderungs-Caching in Go zu implementieren Jul 22, 2023 pm 10:51 PM

So verwenden Sie den Kontext, um das Caching von Anfragen in Go zu implementieren. Einführung: Beim Erstellen von Webanwendungen müssen wir häufig Anfragen zwischenspeichern, um die Leistung zu verbessern. In der Go-Sprache können wir das Kontextpaket verwenden, um die Anforderungs-Caching-Funktion zu implementieren. In diesem Artikel wird erläutert, wie das Kontextpaket zum Implementieren des Anforderungs-Caching verwendet wird, und es werden Codebeispiele bereitgestellt, um den Lesern das Verständnis zu erleichtern. Was ist Kontext? : In der Go-Sprache bietet das Kontextpaket eine Möglichkeit, zwischen mehreren Goroutinen zu wechseln

See all articles