Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
class A(object):
pass
a = A()
def new_method(self):
print "It's working!"
setattr(A, 'new_method', new_method)
a.new_method()
>>> A.kuku = new_method
>>> a.kuku()
It's working!
def blank(obj):
if hasattr(obj, '__iter__'): # или любая аналогичная проверка для нужных типов
return len(obj)
else:
return not bool(obj)
Впрочем такая проблема есть и с
Object
'а может привести к проблемам. class Object
def name
end
end
if my_obj.respond_to?(:name)
puts 'my_obj has name'
end
Открытые классы в ruby, заметки для питонистов