python global variable mengalami masalah dan meminta Tuhan untuk menjawabnya

Penulis:Tony233, Dibuat: 2021-09-08 14:20:01, Diperbarui: 2021-09-08 15:09:44

Saya menemukan sebuah masalah, mengapa saya mengembalikan variabel global dari kamus, dan ketika saya memanggilnya lagi, variabel akan tertutup, kode di bawahnya, tiga baris # yang secara teoretis harus dicetak juga 1, 2, 3, tetapi sebenarnya dicetak 3, 3, 3 tidak mengerti. Ini adalah masalah yang saya temukan saat saya kembali menguji, menemukan bahwa hasilnya dicetak sama, dan kemudian langkah demi langkah menemukan bahwa akarnya muncul di sini. def fun (a): Dict_zz = a Kembali dict_zz def main (: Params (dalam bahasa Inggris) dict_zz_15min = fun ((1) dict_zz_1h = fun(2) dict_zz_4h = fun(3) print ((dict_zz_15min) # print ((dict_zz_1h) # print ((dict_zz_4h) #

def param ((): global dict_zz dict_zz = {} yang utama

Mengapa saya mencetaknya seperti ini? {Y: i} {Y: i} {Y: i} {Y: i} {Y: i} {Y: i}


Lebih banyak

RumputAnda belajar dasar-dasar Python.

Tony233Anda langsung mengatakan bahwa kamus adalah salinan yang tidak jelas dan saya mengerti... ibu saya, belajar Python selama ini, tidak mengerti ini.

RumputDefinisi fun (a): dict_zz['satu'] = a Mengembalikan dict_zz Definisi utama: Params ((() dict_zz_15min = menyenangkan print ((dict_zz_15min) dict_zz_1h = menyenangkan(2) print ((dict_zz_1h) dict_zz_4h = menyenangkan(3) print ((dict_zz_4h) # def param ((): global dict_zz dict_zz = {} yang utama

Tony233Anda sedikit tidak masuk akal, apa itu dasar Python? Saya telah menulis strategi di Python sebelumnya sebelum merakitnya.

Tony233Jika saya mengubah variabel global menjadi variabel lokal, itu tidak masalah. def fun (a): dict_zz = {} dict_zz ['one'] = a Kembali dict_zz def main (: dict_zz_15min = fun ((1) dict_zz_1h = fun(2) dict_zz_4h = fun(3) print ((dict_zz_15min) print ((dict_zz_1h) print ((dict_zz_4h) main ((()

Tony233Bukan masalah kunci, aku bisa mengganti variabel global dengan variabel lokal.