我有以下命名Password.py
簡化類:正確使用靜態方法
import random
CHARS = "ABC"
class PasswordHelper(object):
@staticmethod
def generateChars(length):
return ''.join(random.choice(CHARS) for x in range(length))
現在我有TestClass.py
在folder2
另一個類:
sys.path.append('../folder1/')
import Password
class Tester:
def whatever(self):
print Password.generateChars(3)
def main():
x = Tester()
x.whatever()
# call main method
main()
當調用python TestClass.py
我得到以下錯誤: AttributeError:'模塊'對象沒有'generateChars'屬性。兩個文件夾都處於同一級別。我導入類文件或使用靜態方法聲明本身的方式有問題嗎?
+1 NB即使你有狀態,它可能有意義的傳遞該狀態作爲參數和返回值。但這是一個有趣的問題,首先擺脫「爲所有*的課程」思想。 – delnan
嗯。好的。我認真考慮過,爲所有事物開設一堂課被認爲是很好的風格。我想我錯了... – cherrun
其實我想知道,爲什麼所有的課都不好?是否有更多「更深」的讀物? – cherrun