python - 如何读取函数的多种形式的属性?
问题描述
我需要为多项式函数加载属性,但它以不同的形式加载。
在作业中,我有 3 个表单值,但我不知道如何阅读所有这些值。其中一个作为 list() 输入,下一个作为元素输入,最后一个通过多项式的多个次数输入(这对我来说是最大的问题)。
p1 = Polynomial([1,-3,0,2])
p2 = Polynomial(1,-3,0,2)
p3 = Polynomial(x0=1,x3=2,x1=-3)
>>> print(*p*)
2x^3 - 3x + 1
我已经尝试过一些想法,例如:
class Polynomial(object):
def __init__(self,*X):
self.x = X
def __str__(self):
index = 0
while True:
element = element+self.x[index]+"x^"+index
但那不是第三种情况,也不适用于第一种和第二种情况。
解决方案
使用
def __init__(self, *args, **kwargs):
self.args = args
self.kwargs = kwargs
在第一种情况下,args
将包含[[1,-3,0,2]]
(所以你想操纵args[0]
)
在第二种情况下,args
将包含[1,-3,0,2]
在最后一种情况下,kwargs
将包含{ x0: 1, x3: 2, x1: -3 }
在最后一种情况下,要翻译kwargs
成您想要的列表(IE [1,-3,0,2]
),您可以这样做
[kwargs.get("x0", 0), kwargs.get("x1", 0), kwargs.get("x2", 0), kwargs.get("x3", 0)]
这将为您提供kwargs
您想要的正确键值的列表,如果未找到,则为 0。(更好的方式[kwargs.get(x, 0) for x in ["x0","x1","x2","x3"]]
:)
推荐阅读
- python - 同时写入多个文件
- spring-boot - ConfigMap 数据(yml 格式) - Kubernetes
- asp.net-mvc - 剑道下拉列表不显示数据
- sql-server - 从发送到链接服务器并由存储过程返回的查询中检索结果表
- service - 如何从 MSI 文件安装多个 Windows 服务实例?
- javascript - 使用 Javascript 和 asp.net 创建动态文本框
- python - 在 while 循环中运行同一个蜘蛛
- python - 从 PDF 中提取单词并像表格一样解析
- ios - iOS,GMSMapView,MapView:didTapMarker 应用程序崩溃
- latex - 如何让 \counterwithout 在 Latex 中工作?