如何定义uuu init uuuu,以便它接受Python中其他类的对象集合
我熟悉Python中的过程编程。然而,我刚刚开始学习python的课程,所以如果你觉得这是一个很难回答的问题,请耐心听我说 我一直在关注Steve F.Lott的书《python中的构建技能》和《面向对象设计中的构建技能》,当他要求我做以下练习时,我陷入了困境:如何定义uuu init uuuu,以便它接受Python中其他类的对象集合,python,class,oop,Python,Class,Oop,我熟悉Python中的过程编程。然而,我刚刚开始学习python的课程,所以如果你觉得这是一个很难回答的问题,请耐心听我说 我一直在关注Steve F.Lott的书《python中的构建技能》和《面向对象设计中的构建技能》,当他要求我做以下练习时,我陷入了困境: Classname.__init__(self,name,symbol,*blocks) 其中名称和符号是公司的符号。(为了更完整地描述这个问题,我正在研究)。*块应该代表另一个类的集合。到目前为止,我已经尝试过: class Sto
Classname.__init__(self,name,symbol,*blocks)
其中名称和符号是公司的符号。(为了更完整地描述这个问题,我正在研究)。*块应该代表另一个类的集合。到目前为止,我已经尝试过:
class StockBlock():
"""Define a block of stock"""
def __init__(self,date,price,nos):
self.date=date
self.price=price
self.nos=nos
def __str__(self):
return "%s %d %d" %(self.date,self.price,self.nos)
def getPurchValue(self):
self.Purch_val=self.price*self.nos
return self.Purch_val
def getSaleValue(self,salePrice):
self.SalesVal=salePrice*self.nos
return self.SalesVal
def getROI(self,salePrice):
self.SalesVal=salePrice*self.nos
roi=((self.SalesVal)-(self.Purch_val))/(self.Purch_val)
return roi
def getStock(self):
return self
及
您能告诉我如何使用StockBlock类中的对象列表初始化Position类吗
格雷西亚斯。你需要理解“继承”和“组合”的概念 “卡车”是一种特殊的“汽车”。对于这种关系,可以使用继承:
类Truck(Car)
但不管你怎么看,轮子都不是汽车。猫有三个或三个以上的轮子。这是一个部分,因此要将车轮添加到汽车类型类中,需要使用合成
在代码中,Position
不是一种特殊的StockBlock
,而是包含一组StockBlock
。因此,您需要像这样初始化类:
def Position(object):
def __init__(self,name,sym,*blocks):
self.name=name
self.sym=sym
self.blocks=blocks
相关的:
StockBlock.\uuu init\uuuu()
和Position.getROI()
)。您必须修复它们,否则Python将无法解析您的脚本。请遵守PEP8中的Python约定:方法名称是带下划线的小写\u
。必须在\uuuu init\uuuu
中引入所有属性。方法不是使用属性,而是将元组传递给列表。那不是个错误吗?是代码。@AnkitKulshrestha:访问被拒绝。请将相关部分复制粘贴到您的问题中。我想那是我的私人存储库。不管怎样,我还是能避开这个问题。谢谢你的大力帮助。
def Position(object):
def __init__(self,name,sym,*blocks):
self.name=name
self.sym=sym
self.blocks=blocks