PEMBARUAN: Masih belum terpecahkan ketika fungsi di bawah ini disebut sebagai myfunc(1, 200)
.
deprecated_renamed_argument
memungkinkan seseorang untuk menghentikan argumen kata kunci yang dihapus. Namun, saat melakukannya, kata kunci yang tidak digunakan lagi tidak dapat disetel. Itu selalu diberikan nilai defaultnya:
>>> from astropy.utils.decorators import deprecated_renamed_argument
>>> @deprecated_renamed_argument('b', None, '4.1')
>>> def myfunc(a, b=3):
>>> print(a, b)
>>> return
>>> myfunc(1, b=200)
1 3
WARNING: AstropyDeprecationWarning: "b" was deprecated in version 4.1 and will be removed in a future version. [warnings]
Nilai kata kunci yang tidak digunakan lagi dapat diubah dari default jika digunakan sebagai argumen posisi, tetapi dalam kasus tersebut peringatan penghentian tidak dimunculkan:
>>> myfunc(1, 200)
1 200
wah, kacau nih.
Saya akan mencoba untuk mengurusnya selama akhir pekan.
Saya mungkin memiliki perbaikan. Silakan lihat #9981.
Saya ingin tahu berapa banyak paket hilir yang terpengaruh. Mengingat bahwa kami tidak mendapatkan laporan bug sampai sekarang, penggunaan ini mungkin jarang terjadi.
terima kasih @pllim. Tampaknya akhir pekan saya berlalu dengan tidak banyak kode yang dihasilkan