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')


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部