Tôi khá mới để Python, đây là một số mã Tôi đang tìm kiếm tại địa chỉ:Sử dụng một biến trong một thử, đánh bắt, cuối cùng tuyên bố mà không tuyên bố nó ở bên ngoài
try:
connection = getConnection(database)
cursor = connection.cursor()
cursor.execute("some query")
except:
log.error("Problem.")
raise
finally:
cursor.close()
connection.close()
Liệu rằng được làm sạch đúng cách? Trong các ngôn ngữ khác mà tôi đã viết trong, tôi đang sử dụng để làm một cái gì đó như thế này:
connection = None
cursor = None
try:
connection = getConnection(database)
cursor = connection.cursor()
cursor.execute("some query")
except:
log.error("Problem.")
raise
finally:
if cursor is not None:
cursor.close()
if connection is not None:
connection.close()
Phải, tôi hy vọng điều này có ý nghĩa, nhưng "có sẵn bao xa" ? Tôi sẽ giả định rằng một hàm sẽ chứa nó, điều gì sẽ xảy ra nếu các câu lệnh và các vòng lặp? – Cheetah
Nếu toàn bộ khối đó nằm trong một hàm, nó có sẵn từ đó cho đến khi kết thúc hàm. Nếu nó ở cấp mô-đun, nó có sẵn trên toàn cầu trong mô-đun đó. Nếu các câu lệnh và vòng lặp không đưa ra phạm vi mới. –