我正在学习python中的OOP。你知道吗
我在挣扎,为什么这不是我想要的工作?你知道吗
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]: ''
我犯了什么明显的错误,以至于我不能在USPatent实例中获得kc?你知道吗
这里通过编码
KC=""
,而不是KC=KC
,将KC
传递为""
传递输入的
KC
:您正在传入一个空字符串:
总是调用
Patent.__init__()
方法将KC
设置为""
。你知道吗传入您收到的
KC
的任何值:在
USPatent.__init__()
中,KC
只是另一个变量,就像self
、CC
和PN
。它要么已经设置为""
,要么设置为使用参数调用USPatent(...)
时传入的任何值。您只需要调用传递所有值的Patent.__init__()
方法。你知道吗您也可以从调用中删除关键字参数语法:
线路
应该是
前者使用关键字样式参数语法将名为“KC”的参数设置为值
""
(空字符串)。您想要的是传递变量KC
的值。你知道吗相关问题 更多 >
编程相关推荐