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')
總結
以上是生活随笔為你收集整理的python如何小写p转换p_Python如何将字符串“p”从列表转换为变量值p的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jira图片_JIRA使用不求人-从菜鸟
- 下一篇: websocket python爬虫_p