Найти - Пользователи
Полная версия: Не совсем понимаю содержание комманды. Что она значит.
Начало » Python для новичков » Не совсем понимаю содержание комманды. Что она значит.
1
4kpt
Понимаю, очень тупой вопрос. Но прошу помочь, ибо не понимаю. Промучался уже день. Решил обратиться. Друзей-программистов на Python нет, посему пишу сюда.
Код:
import time
import now - один и модулей.
class today(now.now):
def __init__(self,y=1970):
now.now.__init__(self)
def update(self,tt):
if len(tt) < 9:
raise TypeError
if tt[0] < 1970 or tt[0] > 2038:
raise OverflowError
self.t = time.mktime(tt)
self(self.t) - !!! Зачем эта строка. За что она отвечает. Как это self(self.t). Что это значит? Что происходит? !!!
if __name__ == "__main__" :
n = today ()
print "The year is", n.year
print n
x = today()
s = 'x'
print s
tt = (1999,7,16,12,59,59,0,0,-1)
at.update (tt)
print x
Заранее спасибо.
ofigetitelno
:)
class A(object):
def __call__(self, val):
print(val)
def __init__(self, value):
self(value)
a = A(123)
4kpt
У меня скоро будет взрыв мозга. Поробывал. Выдает 123. Ничего не понял. Но все равно спасибо.
sp3
ofigetitelno
class A(object):
def __call__(self, val):
print(val)
def __init__(self, value):
self(value)
a = A(123)
метод __call__ вызывается у экземпляра : a(1111) тоже самое что a.__call__(1111)
self(value) - означает вызвать метод __call__ у “себя(экземпляра)”
4kpt
Я вчера помучался и понял. Не мог отписаться. Опера не заходила на форум. Писала ошибку. Спасибо всем большое. Фактически __init__ инициализирует переменную value. После этого value передается в буфер обмена из которого метод __call__ выбирает информацию. Понял. Понял наконец!!!!
Eliont
Кстати, вопрос в тему: а можно как-нибудь использовать класс без конкретного объявления экземпляра?
Просто мне нужен только один и нет смысла делать несколько копий управляющего узла.
sp3
можно
Eliont
А как?

При попытке использовать __call__ просто ничего не происходит.
При попытке использовать метод класса без объявления экземпляра матерится:
Traceback (most recent call last):
TypeError: unbound method set() must be called with Hub instance as first argu
ment (got nothing instead)
sp3
A(123)(111)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB