PYTHONPORTAL Telegram 4519
Многие разработчики на Python считают метод __init__() конструктором, но на самом деле это не так.

Настоящий конструктор в Python — это метод __new__(). Давайте разберёмся, как это доказать, на небольшом примере.

Сначала добавим несколько print-вызовов в метод __init__(), чтобы понять, что происходит при создании экземпляра класса: (2 фото)

Теперь добавим метод __new__() и посмотрим, вызывается ли __init__() до или после __new__(). (3 фото)

Если запустить этот код, станет видно, что первым вызывается именно метод __new__()

Хочу отметить, что в большинстве случаев вам не придётся использовать метод __new__() в своём коде. На практике он применяется почти исключительно в метапрограммировании, фабричных функциях и при работе с API — по крайней мере, из того, что мне доводилось видеть.

Так что продолжайте спокойно использовать проверенный метод __init__() — он по-прежнему отлично справляется со своей задачей 😄

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM



tgoop.com/PythonPortal/4519
Create:
Last Update:

Многие разработчики на Python считают метод __init__() конструктором, но на самом деле это не так.

Настоящий конструктор в Python — это метод __new__(). Давайте разберёмся, как это доказать, на небольшом примере.

Сначала добавим несколько print-вызовов в метод __init__(), чтобы понять, что происходит при создании экземпляра класса: (2 фото)

Теперь добавим метод __new__() и посмотрим, вызывается ли __init__() до или после __new__(). (3 фото)

Если запустить этот код, станет видно, что первым вызывается именно метод __new__()

Хочу отметить, что в большинстве случаев вам не придётся использовать метод __new__() в своём коде. На практике он применяется почти исключительно в метапрограммировании, фабричных функциях и при работе с API — по крайней мере, из того, что мне доводилось видеть.

Так что продолжайте спокойно использовать проверенный метод __init__() — он по-прежнему отлично справляется со своей задачей 😄

👉 @PythonPortal

BY Python Portal






Share with your friend now:
tgoop.com/PythonPortal/4519

View MORE
Open in Telegram


Telegram News

Date: |

Users are more open to new information on workdays rather than weekends. Telegram desktop app: In the upper left corner, click the Menu icon (the one with three lines). Select “New Channel” from the drop-down menu. Avoid compound hashtags that consist of several words. If you have a hashtag like #marketingnewsinusa, split it into smaller hashtags: “#marketing, #news, #usa. Private channels are only accessible to subscribers and don’t appear in public searches. To join a private channel, you need to receive a link from the owner (administrator). A private channel is an excellent solution for companies and teams. You can also use this type of channel to write down personal notes, reflections, etc. By the way, you can make your private channel public at any moment. End-to-end encryption is an important feature in messaging, as it's the first step in protecting users from surveillance.
from us


Telegram Python Portal
FROM American