Как __eq__ обрабатывается в Python и в каком порядке?

Это должно исправить:

jQuery(document).ready(function($){
  //you can now use $ as your jQuery object.
  var body = $( 'body' );
});

Проще говоря, WordPress запускает свои собственные скрипты, прежде чем вы сможете, и они освободят $ var, чтобы он не сталкивался с другими библиотеками. Это делает общий смысл, поскольку WordPress используется для всех видов веб-сайтов, приложений и, конечно, блогов.

Из их документации:

Библиотека jQuery, включенная в WordPress установлен в режим noConflict () (см. Wp-includes / js / jquery / jquery.js). Это необходимо для предотвращения проблем совместимости с другими библиотеками JavaScript, которые может связывать WordPress.

В режиме noConflict () глобальный $ shortcut для jQuery недоступен ...

73
задан PyProg 27 August 2010 в 23:34
поделиться

1 ответ

Выражение a == b вызывает A.__eq__, так как оно существует. Его код включает self.value == other. Поскольку int не знает, как сравнивать себя с B, Python пытается вызвать B.__eq__, чтобы узнать, знает ли он, как сравнивать себя с int.

Если вы измените свой код, чтобы показать, какие значения сравниваются:

class A(object):
    def __eq__(self, other):
        print("A __eq__ called: %r == %r ?" % (self, other))
        return self.value == other
class B(object):
    def __eq__(self, other):
        print("B __eq__ called: %r == %r ?" % (self, other))
        return self.value == other

a = A()
a.value = 3
b = B()
b.value = 4
a == b

он напечатает:

A __eq__ called: <__main__.A object at 0x013BA070> == <__main__.B object at 0x013BA090> ?
B __eq__ called: <__main__.B object at 0x013BA090> == 3 ?
97
ответ дан 24 November 2019 в 11:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: