python动态执行函数的写法(奇技淫巧)


前言

在写小工具的时候忽然发现,python可以动态执行函数。即根据条件,动态选择函数名,并执行。

示例一:

原始代码:

isFloat = 0
value = "43"
if isFloat == 0:
    value = int(value)
else:
    value = float(value)
print(type(value)) # == > int

改造后:

isFloat = 0
value = "43"
value =  (int if isFloat == 0 else float)(value)
print(type(value)) # == > int
value = "43.34"
isFloat = 1
value =  (int if isFloat == 0 else float)(value)
print(type(value)) # == > float

示例二:

def testO(value):
    return 1
def testS(value):
    return 2
is_a = 0
data = (testO if is_a == 0 else testS)(100)
print(data)
is_a = 1
data = (testO if is_a == 0 else testS)(100)
print(data)

声明:一代明君的小屋|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - python动态执行函数的写法(奇技淫巧)


欢迎来到我的小屋