PYTHONPORTAL Telegram 4520
Многие разработчики на 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/4520
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/4520

View MORE
Open in Telegram


Telegram News

Date: |

Each account can create up to 10 public channels While some crypto traders move toward screaming as a coping mechanism, many mental health experts have argued that “scream therapy” is pseudoscience. Scientific research or no, it obviously feels good. On June 7, Perekopsky met with Brazilian President Jair Bolsonaro, an avid user of the platform. According to the firm's VP, the main subject of the meeting was "freedom of expression." Don’t publish new content at nighttime. Since not all users disable notifications for the night, you risk inadvertently disturbing them. The channel also called on people to turn out for illegal assemblies and listed the things that participants should bring along with them, showing prior planning was in the works for riots. The messages also incited people to hurl toxic gas bombs at police and MTR stations, he added.
from us


Telegram Python Portal
FROM American