如何随机调用Python中定义的def函数?附Python3代码示例
如何随机选择并调用已定义的Python函数?
嘿,这个需求其实很容易实现,咱们可以借助你已经导入的random模块来搞定~核心思路就是把要选的函数放进一个列表,随机挑一个后直接调用就行,具体看下面的步骤:
实现步骤
- 首先把你定义的
img1、img2、img3这些函数放进一个列表里**(注意只写函数名,别加括号!加括号会直接执行函数,不是选函数对象了)** - 用
random.choice()从列表里随机选出一个函数 - 给选中的函数加上括号,完成调用
调整后的完整代码示例
import random from tkinter import * from PIL import Image, ImageTk def img1(): root = Tk() root.geometry("400x400") load = Image.open("1.png") render = ImageTk.PhotoImage(load) img = Label(image=render) img.image = render img.place(x=0,y=0) root.mainloop() # 别忘了加这个,否则窗口会一闪而过哦! def img2(): root = Tk() root.geometry("400x400") load = Image.open("2.png") render = ImageTk.PhotoImage(load) img = Label(image=render) img.image = render img.place(x=0,y=0) root.mainloop() def img3(): root = Tk() root.geometry("400x400") load = Image.open("3.png") render = ImageTk.PhotoImage(load) img = Label(image=render) img.image = render img.place(x=0,y=0) root.mainloop() # 随机选择并调用函数的核心代码 if __name__ == "__main__": # 将目标函数存入列表 func_candidates = [img1, img2, img3] # 随机挑选一个函数 picked_func = random.choice(func_candidates) # 执行选中的函数 picked_func()
小提醒
- 每个
imgX()函数里一定要加root.mainloop(),不然Tkinter窗口会创建后立刻关闭,看不到图片效果 - 确保
1.png、2.png、3.png和你的Python脚本在同一文件夹,或者写完整的文件路径哦
内容的提问来源于stack exchange,提问作者user8929031
相关产品推荐
相关产品推荐

