是否有一些python規則聲明/定義「init」方法中的所有全局變量?爲什麼Python會允許這個?在python中這是不好的編碼?
例如,請看下面的代碼:
class Myclass():
def __init__(self,input):
self.input = input
def a_method(self):
self.sneaky = {}
local_var = 'a var'
return local_var
def another_method(self):
print self.input
print self.sneaky, ', O sneaky you bad var'
return
如果我的課有許多方法中的變量「self.sneaky」將很難被發現。並且「a_method」必須首先被調用其他明智的AttributeError在調用「another_method」時引發。我只是在某人的代碼中發現它,並想知道這是否是常見做法。
可能重複http://stackoverflow.com/questions/12274179/must-all-python-實例變量被聲明在def-init) – 2014-03-27 00:36:44
@Lego我反對你編輯我的第一行,你完全刪除。 – user1318806