Для чего используется переменная cls в классах Python?

В Вашем случае, что можно сделать:

z = dict(x.items() + y.items())

Это, поскольку Вы хотите его, поместит финал dict в z и заставит значение для ключа b быть правильно переопределенным вторым (y) значение dict:

>>> x = {'a':1, 'b': 2}
>>> y = {'b':10, 'c': 11}
>>> z = dict(x.items() + y.items())
>>> z
{'a': 1, 'c': 11, 'b': 10}

при использовании Python 3 это только немного более сложно. Создать z:

>>> z = dict(list(x.items()) + list(y.items()))
>>> z
{'a': 1, 'c': 11, 'b': 10}
236
задан Stevoisiak supports Monica 1 February 2018 в 08:51
поделиться

1 ответ

Вместо того, чтобы принять сам параметр, методы класса берут параметр cls , который указывает на класс — а не экземпляр объекта —, когда метод называют. Так как метод класса только имеет доступ к этому cls аргументу, это, can’t изменяют состояние экземпляра объекта . Это потребовало бы доступа к сам. Как - когда-либо, методы класса могут все еще изменить состояние класса, которое применяется через все экземпляры класса.

Кредит к 'книге

' Приемов Python
0
ответ дан 23 November 2019 в 03:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: