這是最佳實踐類型的問題。我要訪問從另一個屬性和一個類的方法(也許這本身就是一種不好的做法)和我在做什麼來實現這一目標是訪問其他類的屬性和方法的最佳實踐
class table():
def __init__(self):
self.color = 'green'
colora = 'red'
def showColor(self):
print('The variable inside __init__ is called color with a value of '+self.color)
print('The variable outside all methos called colora has a value of '+colora)
class pencil(table):
def __init__(self):
print('i can access the variable colora from the class wtf its value is '+table.colora)
print('But i cant access the variable self.color inside __init__ using table.color ')
object = pencil()
>>>
i can access the variable colora from the class wtf its value is red
But i can't access the variable self.color inside __init__ using table.color
>>>
正如你可以看到我正在做一個實例在課堂上定義的鉛筆,我使用符號從一個班級繼承到另一個班級。
我已經讀過無處不在的人聲明他們的類屬性init這是否意味着我不應該訪問其他類而不使用它的實例? 我認爲這是一個繼承問題,但我不能把這個概念帶進我的腦海,而且我已經在書籍和教程中閱讀了一些解釋。
最後,我只是想能夠訪問一個類與另一個類的屬性和方法。 謝謝
哦,我看到了,我看到的教程有更復雜的例子的繼承困惑,但基本上我需要的是將父項傳遞給括號,然後調用父類的__init__,然後我將能夠訪問定義的所有屬性在__init__中,當然還有它的方法,當然還有它的「公共」屬性,比如任何類方法之外的屬性。 這是正確的嗎? – 2011-03-19 14:37:34
是的,但所有屬性都是「公共」的,請參閱http://docs.python.org/tutorial/classes.html#private-variables。 「傳遞父項」表示您正在繼承它,構造函數調用可確保您通過self.attrubute_name訪問屬性。如果你不調用構造函數,你仍然可以訪問「colora」屬性,但不能訪問self.color。 – juanchopanza 2011-03-19 15:37:28