【发布时间】:2017-05-02 15:25:58
【问题描述】:
我是 Python 新手,熟悉 Java 和 C#,所以下面的代码可能完全不是 Python 的。 我正在尝试获取我的类向量实例的索引值,其中包含的整数列表名为 vec。
class Vector:
def __init__(self,*args,**kwargs):
if(args and args.length()>=2):
self.dimension=args[0]
self.vec=args[1]
elif(kwargs):
if(kwargs.get('vec')):
self.vec=kwargs.get('vec')
self.dimension=len(self.vec)
elif(kwargs.get('n')):
self.dimension=kwargs.get('n')
nulllist=[]
for x in range(0,kwargs.get('n')):
nulllist.append(0)
self.vec=nulllist
def __getitem__(v,i):
if(v.vec[i]):
return v.vec[i]
else:
return "None"
当我试图得到
v0 = Vector(n=2)
assert(v0[0] == 0)
我得到一个断言错误,因为 v0[0] 返回“无” 如果我 print(v0[0]) 打印输出为“无”
我做错了什么? 提前非常感谢。
【问题讨论】:
-
if(v.vec[i])- 你认为这有什么作用?
标签: python class namespaces instance scopes