Форум сайта python.su
0
у меня есть класс File
у него метод load()
если создать объект класса и вызвать метод, то первым аргументов будет передан self:
f = File()
data = f.load('test.txt')
def load(self, name):
print(name) # test.txt
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
@universal
def method():
pass
Офлайн
17
Простой фокус не пройдет - вызов File.load('test.txt') даст исключение - первый параметр должен быть instance от File.
Так что изучай декораторы.
Офлайн
0
class MyClass():
def MyFunc(self, myvar):
print(myvar)
MyClass().MyFunc("abc")
MyClass.MyFunc(None,"abc")
Офлайн
14
classmethod/staticmethod
Офлайн