天天看點

python擷取檔案名中兩條下劃線之間的部分_Python檔案名中雙下劃線的意義

啊哈!我看你已經發現了神奇的方法。在

雙下劃線被稱為“dunder”,它們調用特殊的方法,這些方法可以對對象産生一些非常巧妙的效果。它們不會改變意義,但它們是非常神奇的伏都教,是你腰帶上的好工具。在

__init__是一個神奇的方法,用于聲明對象初始化時發生的事情。它前面隻有__new__。在

我使用的這些方法中最有用的是__dict__方法。{dictionary}中的所有屬性都可以轉換成類中的值。雖然我不認為用它作為檔案名會有用。在

下面是一個例子:class Thing(object):

def __init__(self): ##Init here is a magic method that determines what haps first

self.tint = "black"

self.color = "red"

self.taste = "tangy"

thing = Thing()

dictionary_from_class = {}

for key in thing.__dict__.keys(): ##returns all key values. here: "tint, color, taste"

dictionary_from_class[key] = thing.__dict__[key]

在python中啟動Idle,并嘗試一下。祝你練習Python伏都教好運!在

對不起,我很快就看了你的問題,讓我提一下,因為我的答案中可能沒有提到這個問題:如果檔案名是__init__.py,它的作用與我之前提到的類似。它調用初始化,python将在到達該檔案夾以供子產品使用時立即執行這些操作。也就是說,如果因為調用了該檔案而正在讀取該檔案,例如引用了一個子產品檔案夾,在這種情況下,您需要一個__init__.py檔案來讓python在該檔案夾中識别它。您可以使用任何魔術方法作為名稱,以便在使用時獲得類似的功能。在

我希望澄清是有用的。在

-約瑟夫