tree.apples().total()
после выполнения apples() у тебя в результате объект None. А объект None не имеет метода total. О чем и говорит ошибка. Метод total это метод экземпляра класса Tree. tree.total()
Соответственно, что бы изменить атрибут экземпляра класса и затем вывести его на печать, согласно твоему объявлению класса, то вот так.tree = Tree()
tree.apples()
tree.total()
f = lambda x: x**2
print(f(4))
выведет 16. f - это указатель на безымянную функцию с одним параметром. lambda a:a*2
дальше как в пример выше ты вызываешь свою функцию с аргументом a=11 и получаешь 22. Эта лямбда стоит после оператора return функции myfunc, то есть myfunc возвратит то, что вычислится в результате выполнения лямбды.Вот здесь ошибка в твоей логике. Он вернет функцию а не вычислит ее только вместо n ,будет параметр из myfunc.
class A:
def __del__(self):
print('Hello')
a = b = A()
del(a)
del(b)
Удалили ссылку, но есть еще одна и вызова __del__ не происходит. Только, когда ссылок 0 и сборщик мусора сделал свою работу произойдет вызов. Или второй пример.class A:
def __del__(self):
print('Hello')
a = A()
a = 4
Я вообще del не вызывал, а __del__ вызвался. del не вызывает __del__. Так что заводи, счетчик, как атрибут класса и его увеличивай на один при создании экземпляра класса или понижай определи ему метод delete_user какой-нибудь. import matplotlib.pyplot as plt
import numpy as np
a = np.array([2, 2, 2, 1, 2, 1, 1, 2])
unique, counts = np.unique(a, return_counts=True)
unique_strings = [str(digit) for digit in unique]
plt.bar(unique_strings, counts)
plt.show();
А так заходишь в галерею matplotlib и просто берешь кокретные примеры. return (self._balance := self._balance+ amount)
скобки здесь обязательны. С обычным присваиванием так нельзя.result = func(*args, **kwargs)
ты инициализируешь экземпляр класса, затем возвращаешь его да и все, MyClass у тебя стала функцией которая возвращает экземпляр класса. Ну добавь там чего нибудь например.def f():
return 100
def decor(func):
def _wrapper(*args, **kwargs):
result = func(*args, **kwargs)
result.complex_calculation = f
return result
return _wrapper
class MyClass:
def complex_calculation(self):
return 42
MyClass = decor(MyClass)
my_obj = MyClass()
print(my_obj.complex_calculation())
l1 = l2 = [1,2,3]
print("Это список l1:", l1)
print("Это список l2:", l2)
l1.append(4)
print("В список l1 добавили 4:", l1)
print("Это список l2 и он изменился тоже:", l2)
l1 = [1,2,3]
l2 = [1,2,3]
print("Это список l1:", l1)
print("Это список l2:", l2)
l1.append(4)
print("В список l1 добавили 4:", l1)
print("Это список l2 и он не изменился:", l2)
class A:
def __init__(self,x):
self.x = x
a = A
print(a.x)
Выдаст точно такую ошибку. Нужно вместо a=A, написать a=A() со всеми параметрами, или на прямую ты обращаешься к объекту класса а атрибут у тебя экземпляра класса, то есть вот так. class A:
def __init__(self):
self.x = 'Hello'
print(A.x)
import sqlite3
con = sqlite3.connect("tutorial.db")
cur = con.cursor()
cur.execute("CREATE TABLE movie(title, year, score)")
cur.execute("""
INSERT INTO movie VALUES
('Monty Python and the Holy Grail', 1975, 8.2),
('And Now for Something Completely Different', 1971, 7.5)
""")
#con.commit()
print(cur.execute("SELECT * FROM movie").fetchall())