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

Python如何在def定义的函数内正确调用其他自定义函数

错误点梳理
  • 函数参数匹配错误:
    1. key_generator定义时声明了需要传入stringId参数,但末尾调用key_generator()时未传参,运行会直接抛出参数缺失异常
    2. key_generator内部调用message_sender()时,没有传入生成的id值,而message_sender定义要求必须传入stringId参数,也会触发参数错误
  • 类型错误:uuid.uuid4()返回的是UUID类实例,不能直接和字符串拼接,需要先转换为字符串格式
  • 冗余参数:key_generator的入参stringId没有实际作用,函数内部直接对该变量做了覆盖赋值
修正后的可运行代码
import os
import socket
import uuid
from discord import Webhook, RequestsWebhookAdapter

def key_generator():
    # 将UUID对象转成字符串格式,移除了无用的入参
    stringId = str(uuid.uuid4())
    # 调用时传入生成的stringId
    message_sender(stringId)

def message_sender(stringId):
    machine_name = '[' + socket.gethostname() + ']'
    webhook = Webhook.from_url("https://discord.com/api/webhooks/881232472644390933/MbAbLqd9G6eGYRO25zaIIrF6hJPNJCJWJm_9JTAiYxBeULevXNNaZJhQHcJSYPRcby89", adapter=RequestsWebhookAdapter())
    # 用f-string简化字符串拼接逻辑
    webhook.send(f'`|---{stringId}---| Key: |key|`')

key_generator()

如果修正后仍无法发送消息,可检查本地网络是否能正常访问Discord接口、对应Webhook地址是否有效。

内容的提问来源于stack exchange,提问作者BroImcoolyCoder

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 07:06:03