Astropy: deprecated_renamed_argument gagal untuk kata kunci yang dihapus (tidak terpecahkan: ketika disebut sebagai argumen posisi)

Dibuat pada 31 Jan 2020  ·  3Komentar  ·  Sumber: astropy/astropy

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
Bug utils

Semua 3 komentar

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

Apakah halaman ini membantu?
0 / 5 - 0 peringkat