python如何小写p转换p_Python如何将字符串“p”从列表转换为变量值p
我有一个变量名列表检查.getargspec(函数).args。每个列表项都是一个变量名的字符串。我需要从函数内部使用这些字符串名称,以便检查参数变量的值是否为字符串。在
这就是我的工作@staticmethod
def boyleslaw(p, V, k):
"""pV = k
p=pressure Pa, V=volume m^3, k=constant
substitute letter to solve for that value
return x"""
#sv = countvar(gasses.boyleslaw)
sv = 0
if p == 'p': sv += 1
if V == 'V': sv += 1
if k == 'k': sv += 1
if sv > 1:
raise ValueError('Too Many Variables')
if p == 'p' and sv == 1:
x = k/V
return x
elif V == 'V' and sv == 1:
x = k/p
return x
elif k == 'k' and sv == 1:
x = p*V
return x
@staticmethod
def charleslaw(V, T, k):
"""V/T = k
V=volume m^3, T=temperature K, k=constant
substitute letter for value to solve for
return x"""
#sv = countvar(gasses.charleslaw)
sv = 0
if V == 'V': sv += 1
if T == 'T': sv += 1
if k == 'k': sv += 1
if sv > 1:
raise ValueError('Too Many Variables')
if V == 'V' and sv == 1:
x = k*T
return x
elif T == 'T' and sv == 1:
x = V*k
return x
elif k == 'k' and sv == 1:
x = V/T
return x
我想结束这个过程
^{pr2}$
在它自己的count variables函数中对参数进行计数,并检查每个参数值是否为字符串。到目前为止我要做的…然后墙+头。。。在@staticmethod
def countvar(module):
"""Count number of Variables in args"""
vc = 0
alist = inspect.getargspec(module)
for i in alist.args:
if isinstance(i, str) == True:
vc += 1
return vc
无论函数的值是多少,它都返回3,因为列表.args是一个字符串。我只想在每个变量的值都是字符串的情况下递增计数器,如果有多个变量,则会引发ValueError。如何将字符串“p”转换为变量p。。。在
编辑:澄清boyleslaw(6886019.02, 1, k) #Solve for k
inspect.getargspec(boyleslaw).args
返回['p', 'V', 'k']
我要一份清单[6886019.02, 1, 'k']
alist[0]=
返回'p'\string name
我需要return p变量值
如果值p是一个字符串(如果在调用时选择了一个变量来求解),则递增计数器用于错误处理
boyleslaw(6886019.02, 1, k)不引发错误
boyleslaw(6886019.02, V, k)会raise ValueError('Too Many Variables')
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
