gpt4 book ai didi

python - UnboundLocalError : local variable 'conn' referenced before assignment

转载 作者:行者123 更新时间:2023-12-04 14:38:37 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Don't understand why UnboundLocalError occurs (closure) [duplicate]

(8 个回答)


7年前关闭。




运行此脚本时出现错误(显示在标题中):

import psycopg2

conn = None
conn_string = "host='localhost' dbname='localdb' user='someuser' password='abracadabra'"


def connectDb():
if conn is not None: # Error occurs on this line
return

# print the connection string we will use to connect
print "Connecting to database\n ->%s" % (conn_string)

conn 具有全局作用域,并且在被函数引用之前被分配给 None - 为什么会出现错误消息?

最佳答案

在 python 中,您必须声明要在函数中更改的全局变量 global关键词:

def connectDb():
global conn
if conn is not None: # Error occurs on this line
return
...

我的猜测是您将为 conn 分配一些值在函数后面的某个地方,所以你必须使用 global关键词。

关于python - UnboundLocalError : local variable 'conn' referenced before assignment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8587610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com