自定义函数调用,总是说没定义?

def datas(content_all):
    datas = {
        "msgtype": "text",
        "text": {"content": content_all}, "at": {"atMobiles": [], "isAtAll": False}
    }
    String_textMsg = json.dumps(datas)
    req = requests.post(Ding_url, data=String_textMsg, headers=Ding_headers).text
    print(req)
    print('发送内容:', String_textMsg)
    return String_textMsg

datas(String_textMsg)

以上代码,自定义了一个 datas,在最后返回了 String_textMsg,可是为啥调用函数的时候,String_textMsg 是未定义呢?如果不是全局变量,String_textMsg 这个变量要怎么被调用呢?

还有比如 datas(content_all) 中的 content_all,是上一个变量 return 的,但是在 datas 就可以用,如果直接调用 datas(content_all) 就不行....

阅读 6.2k
2 个回答
def datas(content_all)
    .....
    return String_textMsg

你定义了一个叫datas的函数,你将返回值的变量名设置为String_textMsg

但是你没有调用赋值啊,外层作用域里没有叫String_textMsg的变量

如果我没理解错,你可能是想:

String_textMsg = datas(...) # (我也不知道这个...里面该是什么)
datas(String_textMsg)

你这是搞了个递归吗 ?
你调用datas(String_textMsg) 里面的这个参数初始化了吗?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题