python toàn cầu biến gặp một vấn đề xin Chúa trả lời

Tác giả:Tony233, Tạo: 2021-09-08 14:20:01, Cập nhật: 2021-09-08 15:09:44

Tôi đã tìm thấy một vấn đề, tại sao khi tôi trả về một biến toàn cầu của từ điển, và khi gọi lại, biến sẽ bị che phủ, mã ở phía dưới, ba dòng # theo lý thuyết nên được in là 1, 2, 3, nhưng thực tế là 3, 3, 3 không hiểu. Đây là vấn đề tôi đã tìm thấy trong kiểm tra lại, tìm thấy kết quả được in giống nhau, và sau đó tìm ra từng bước tìm ra nguồn gốc ở đây. Tôi đã thay đổi biến toàn cầu thành biến địa phương và không có vấn đề này, nhưng tôi muốn tìm hiểu lý do tại sao điều này không xảy ra. def fun ((a): dict_zz [đánh nướng] = a return dict_zz def main (: params ((() dict_zz_15min = vui vẻ dict_zz_1h = vui vẻ dict_zz_4h = fun(3) print ((dict_zz_15min) # print ((dict_zz_1h) # print ((dict_zz_4h) #

def params ((): dict_zz toàn cầu dict_zz = {} chính (()

Tại sao tôi in ra như thế này? {C:$0000FF} {C:$0000FF} {C:$0000FF}


Thêm nữa

Cỏ nhỏBạn đã học được những điều cơ bản của Python.

Tony233Bạn chỉ nói từ điển là bản sao sơ sài và tôi hiểu... mẹ tôi, học Python quá lâu, không hiểu điều đó.

Cỏ nhỏDefinition of fun (a): dict_zz['one'] = a trả về dict_zz defin main ((): params (() dict_zz_15min = vui vẻ(1) print ((dict_zz_15min) dict_zz_1h = vui vẻ print ((dict_zz_1h) dict_zz_4h = vui vẻ(3) print ((dict_zz_4h) # def params ((): dict_zz toàn cầu dict_zz = {} chính (()

Tony233Bạn đang nói một chút khó hiểu, điều gì là nền tảng của Python? Tôi đã viết các chiến lược bằng Python trước khi tập rộng...

Tony233Không phải vấn đề về key, tôi sẽ thay đổi biến toàn cầu bằng biến địa phương, không có vấn đề gì. def fun ((a): dict_zz = {} dict_zz ['one'] = a return dict_zz def main (: dict_zz_15min = vui vẻ dict_zz_1h = fun ((2) dict_zz_4h = fun(3) print ((dict_zz_15min) print ((dict_zz_1h) print ((dict_zz_4h) main ((()

Tony233Không phải vấn đề về key, tôi sẽ thay đổi các biến toàn cầu thành các biến địa phương.