我正在學習python中的OOP。瞭解Python中的繼承問題
我掙扎着爲什麼這不按照我的意圖工作?
class Patent(object):
"""An object to hold patent information in Specific format"""
def __init__(self, CC, PN, KC=""):
self.cc = CC
self.pn = PN
self.kc = KC
class USPatent(Patent):
""""Class for holding information of uspto patents in Specific format"""
def __init__(self, CC, PN, KC=""):
Patent.__init__(self, CC, PN, KC="")
pt1 = Patent("US", "20160243185", "A1")
pt2 = USPatent("US", "20160243185", "A1")
pt1.kc
Out[168]: 'A1'
pt2.kc
Out[169]: ''
我在做什麼明顯的錯誤,使我無法在美國專利實例中獲得kc?
我仍然不明白使用KC = KC? – Rahul
@Rahul:如果你爲你的函數添加了print(CC,PN,KC),它會有幫助嗎?你會看到值發生了什麼。 –
@Rahul注意''當[使用默認關鍵字參數定義一個函數]時,'KC =「」'意味着不同的事情(https://docs.python.org/3/tutorial/controlflow.html#more-on-defining-functions )而不是[使用關鍵字參數調用函數](https://docs.python.org/3/tutorial/controlflow.html#keyword-arguments)。 – tutuDajuju