Как предотвратить изменения родительской переменной класса, которые будут приняты дочерним классом

Обратите внимание, что summary(fit) генерирует объект со всей необходимой информацией. В нем хранятся бета, se, t и p векторы. Получите значения p, выбрав четвертый столбец матрицы коэффициентов (сохраненный в суммарном объекте):

summary(fit)$coefficients[,4] 
summary(fit)$r.squared

Попробуйте str(summary(fit)), чтобы просмотреть всю информацию, содержащуюся в этом объекте.

Редактировать: я неправильно понял ответ Чейза, который в основном говорит вам, как добраться до того, что я здесь даю.

0
задан Justen Ingels 18 January 2019 в 10:18
поделиться

1 ответ

Такое поведение имеет место, поскольку foo является одинаковой переменной в обоих классах.

Это аналог глобальной переменной в модуле и возможность видеть, что две разные функции в этом модуле могут видеть и изменять эту глобальную переменную.

Возможное исправление:

class Parent(object):
    foo = 'bar'

class Child(Parent):
    foo = Parent.foo

Parent.foo = 'zoo'
print(Child.foo)

Вывод:

bar
0
ответ дан quamrana 18 January 2019 в 10:18
поделиться
Другие вопросы по тегам:

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