Thi*_*rie 3 python string variables
我有以下代码
import pandas as pd
df = pd.DataFrame(columns=['var1', 'var2','var3'])
df.loc[0] = [0,1,2]
def RS():
x = 123
y = 456
z = 'And some more random shit'
return x+y
def BS():
x = -890
y = (456*1)+90
z = 'And some more random shit'
return x-y
def MyCompute(srt, srt_string):
df[srt_string] = srt()
df['1min' + srt_string] = 1-df[srt_string]
MyCompute(srt=RS, srt_string='RS')
MyCompute(srt=BS, srt_string='BS')
Run Code Online (Sandbox Code Playgroud)
有没有办法避免调用MyCompute函数时出现双RS双BS?
使用属性__name__
:
def MyCompute(srt):
df[srt.__name__] = srt()
df['1min' + srt.__name__] = 1 - df[srt.__name__]
MyCompute(srt=RS)
MyCompute(srt=BS)
Run Code Online (Sandbox Code Playgroud)