You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何随机调用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:54:40