【发布时间】:2014-04-27 17:16:45
【问题描述】:
例如,如果我有以下课程
class Part(object):
def __init__(self,part_number,description,rev=None,color=None):
self.dims = {}
self.dim_id = 0
self.rev = rev
if type(color) is tuple:
self.color=(color[0]/255.,color[1]/255.,color[2]/255.)
else:
self.color = color
def add_dimension(self,description,value,tol,tol_type = 'sym',dwg_sheet = None, dwg_zone = None,quality = 3):
self.dims[description] = Dimension(description=description,part=self,value=value,tol=tol,tol_type=tol_type,quality=quality,dwg_sheet=None,dwg_zone=None)
def __getattr__(self, description):
return self.dims[description]
class Dimension(object):
def __init__(self,part,value,tol,tol_type = 'sym', dwg_sheet = None, dwg_zone = None, quality = 3, description = None):
self.value = value
self.part=part
self.tol = tol
self.tol_type = tol_type
self.description = description
self.quality = quality
self.sigma = self.tol/float(quality)
def __str__(self):
return self.description
然后我运行以下代码:
a = Part('pn','this is a part')
a.add_dimension('this_is_a_dimension',1.00,0.05)
print a.this_is_a_dimension
返回:
this_is_a_dimension
问题是当我在输入“a.”后尝试完成制表符时,我只得到以下选项
a.add_dimension
a.color
a.dim_id
a.dims
a.rev
我希望能够通过制表符完成来查看我的新参数。它类似于 Pandas Dataframes 中列名的工作方式。
有什么想法吗?
【问题讨论】:
标签: python python-2.7 pandas ipython ipython-notebook