у него метод load()
если создать объект класса и вызвать метод, то первым аргументов будет передан self:
f = File()
data = f.load('test.txt')
def load(self, name):
print(name) # test.txt
а при таком способе self недоступен, функция должна иметь 1 аргумент:
data = File.load('test.txt')
def load(name):
...def load(name, filename='', list=True):
if isinstance(name, File):
name = filename
print('load ', name)
1
f = File()
f.load('test.txt') # load test.txt
2
File.load('test.txt') # load test.txt
и если первый аргумент является self, значит имя надо брать из второго аргумента
Собственно, есть ли более правильный способ?
Мб тут поможет декоратор, но я ни разу их не использовал. Если можно сделать декоратором типа
@universal
def method():
pass