pythonのwithは、c#で言うusing。

https://blog.t5o.me/post/20150819/python-with-csharp-using-diff.html
pythonのwithは、C#VB.NETにおけるusingにあたる構文。
宣言されるものはコンテキストオブジェクトと呼ばれ、IDisposable インターフェイスのDispose()にあたる__exit__()メソッドとコンストラクタの次に呼ばれる__enter__()メソッドを持つ必要がある。
ただし完全に同じものではなく、withはスコープを形成せず、withで定義したものはwithブロックの外側からでも参照できる。
javascriptVBなどのwithとは全く違う機能である。



ただしgradioにおいては、画面要素のコンテナであるblcokがコンテキストオブジェクトとして宣言され、__enter__()でContext.blockというグローバル変数的なものにその参照をコピーしている。
各画面要素オブジェクトがその参照を元に処理を行うので、結果的に「現在のwithブロック」に対して処理が行われるという、javascriptVBなどのwithに近い動作になっている。