Python | 动态调用函数

本文总结如何动态调用函数的几种方法。

Updated: 2022 / 9 / 25


Python | 动态调用函数


总览

参考这里 1

eval

  • 应用场景
    有 5 个函数,属于同一类型的函数。比如有 6 种实验用的表格,需要根据实验序号去动态调用相应的修改该表格的函数。
  • 示例代码
import random
    
    def experiment1():
        print("experiment 01")

    def experiment2():
        print("experiment 02")

    def experiment3():
        print("experiment 03")

    def experiment4():
        print("experiment 04")

    def experiment5():
        print("experiment 05")
    
    for nr in range(10):
        id = str(random.randint(1, 5))
        print(f'id: {id}')
        eval('experiment'+id)()
  • 示例结果
id: 5
experiment 05
id: 3
experiment 03
id: 5
experiment 05
id: 3
experiment 03
id: 5
experiment 05
id: 4
experiment 04
id: 1
experiment 01
id: 4
experiment 04
id: 1
experiment 01
id: 1
experiment 01

list

  • 应用场景
    有 3 个函数,属于不同类型的函数。比如根据被加入函数列表中的函数的索引来调用函数。
  • 示例代码
    参考这里 2
funclist = []

def calculate():
    x = int(input("input x: "))
    y = int(input("input y: "))
    sum = x + y
    print(f"sum = {sum}")
funclist.append(calculate)

def experiment():
    print('I like experiment.')
funclist.append(experiment)

def split():
    str = 'Love is patience.'
    print(str.split(sep=' '))
funclist.append(split)

funclist[2]()
funclist[0]()
funclist[1]()
  • 示例结果
['Love', 'is', 'patience.']
input x: 3
input y: 1
sum = 4
I like experiment.

参考链接


  1. python打包含有参数传递的exe程序 ↩︎

  2. Python input函数:接收标准输入数据 ↩︎

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值