首頁  >  文章  >  後端開發  >  以下是一些適合本文的基於問題的標題: * 如何在Python中實作跨模組變數而不使用全域作用域? * 用自訂 C 取代 Python 的“__debug__”

以下是一些適合本文的基於問題的標題: * 如何在Python中實作跨模組變數而不使用全域作用域? * 用自訂 C 取代 Python 的“__debug__”

Susan Sarandon
Susan Sarandon原創
2024-10-27 16:42:02397瀏覽

Here are some question-based titles that fit the article:

* How to Achieve Cross-Module Variables in Python Without Using a Global Scope?
* Replacing Python's

在沒有全域作用域的情況下實作跨模組變數

在Python中,__debug__變數是跨所有模組的便利工具。為了複製其優點,可以建立名為 foo 的自訂變數來實現類似的功能。然而,與 __debug__ 不同, foo 不需要是真正的全域變量,甚至可以在導入連結模組之前設定它的值。

要實現這一點,一個簡單的全域模組級變數就可以了。以下是一個範例:

# a.py
var = 1
# b.py
import a
print(a.var)
import c
print(a.var)
# c.py
import a
a.var = 2

當作為 python b.py 執行時,輸出為 1 2,示範了 var 跨模組的通用可見性。

這種方法在 Django 的 global_settings.py 等場景中證明是有用的,其中透過導入的物件 django.conf.settings 存取設定。

以上是以下是一些適合本文的基於問題的標題: * 如何在Python中實作跨模組變數而不使用全域作用域? * 用自訂 C 取代 Python 的“__debug__”的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn