functools.update_wrapper()
Last updated
Was this helpful?
Last updated
Was this helpful?
ΠΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ wrapper, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° Π²ΡΠ³Π»ΡΠ΄Π΅Π»Π° ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ wrapped. ΠΠ΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ - ΡΡΠΎ ΠΊΠΎΡΡΠ΅ΠΆΠΈ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠ΅, ΠΊΠ°ΠΊΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π°Π·Π½Π°ΡΠ°ΡΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌ Π² ΡΡΠ½ΠΊΡΠΈΠΈ wrapper ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ wrapper ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΡΡΠΈΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² - ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΡΡΠΎΠ²Π½Ρ ΠΌΠΎΠ΄ΡΠ»Ρ WRAPPER_ASSIGNMENTS (ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡΡΡ __module__
, __name__
, __qualname__
, __annotations__
ΠΈ __doc__
ΡΡΠ½ΠΊΡΠΈΠΈ wrapper, ΡΡΡΠΎΠΊΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ) ΠΈ WRAPPER_UPDATES (ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ __dict__
ΡΡΠ½ΠΊΡΠΈΠΈ wrapper, ΡΠΎ Π΅ΡΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°).
Π§ΡΠΎΠ±Ρ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ°ΠΌΠΎΠ°Π½Π°Π»ΠΈΠ·Π° ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΡΠ΅Π»Π΅ΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΎΠ±Ρ
ΠΎΠ΄ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡΠ° ΠΊΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ), ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π°ΡΡΠΈΠ±ΡΡ __wrapped__
ΠΊ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΎΠ±ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ - , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Π΅ΡΡΡΠ²Π°ΡΡ Π΄Π΅ΠΊΠΎΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ wrapper. ΠΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ wrapper Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ, ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΡΠ΄ΡΡ ΠΎΡΡΠ°ΠΆΠ°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ wrapper, Π° Π½Π΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΠΌ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ.
update_wrapper () ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΎΡΠ»ΠΈΡΠ½ΡΠΌΠΈ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΡΠ±ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π² Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ Π² ΠΎΠ±ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ΅, ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ (Ρ.Π΅. ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΡΠ°ΡΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ wrapper). ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, Π΅ΡΠ»ΠΈ Π² ΡΠ°ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ wrapper ΠΎΡΡΡΡΡΡΠ²ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π°ΡΡΠΈΠ±ΡΡΡ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π² updated.
ΠΠΎΠ²ΠΎΠ΅ Π² Π²Π΅ΡΡΠΈΠΈ 3.2: Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠ° __wrapped__
.
ΠΠΎΠ²ΠΎΠ΅ Π² Π²Π΅ΡΡΠΈΠΈ 3.2: ΠΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠ° __annotations__
ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π² Π²Π΅ΡΡΠΈΠΈ 3.2: ΠΡΡΡΡΡΡΠ²ΡΡΡΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π²ΡΠ·ΡΠ²Π°ΡΡ .
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π² Π²Π΅ΡΡΠΈΠΈ 3.4: Π°ΡΡΠΈΠ±ΡΡ __wrapped__
ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ΅Π³Π΄Π° ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ wrapped, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»Π° Π°ΡΡΠΈΠ±ΡΡ __wrapped__
. (ΡΠΌ. )