Вызов метода внутри класса

#python #python-2.7 #python-3.x

#python #python-2.7 #python-3.x

Вопрос:

У меня есть следующий класс, однако, когда я пытаюсь вызвать метод в объекте, ничего не происходит

 class parentClass:
  def test(self):
    if 3 > 2:
        print "This is true"
    else:
        print "This is false"
object1 = parentClass()
object1.test
  

Может кто-нибудь, пожалуйста, скажите мне, что я делаю не так?

Комментарии:

1. Вы его не вызываете. object1.test() с помощью скобок, делает это

2. ссылаться вместо вызова, выполните object1.test()

3. Вам не кажется странным, что для этого parentClass потребовались бы круглые скобки, но нет test ?

4. Моя ошибка, я слепо следовал учебнику и не уделял пристального внимания

Ответ №1:

указание метода в круглых скобках просто возвращает ссылку на него. Для его вызова вам необходимо иметь () (и, необязательно, любые аргументы) после него:

 object1.test()
  

Ответ №2:

добавьте круглые скобки ‘()’ к имени метода, в котором вы его вызываете.

object1.test()

Ответ №3:

Вы забыли «()»:

  object1.test()
  

Помните, что методы должны вызываться со скобками, например, в свойствах это не нужно.

Ответ №4:

Для вызова функции требуется ‘()’. Без этого это просто ссылка, а не вызов.

 object1.test ()
  

Надеюсь, это поможет.

Комментарии:

1. Пожалуйста, не добавляйте просто «попробуйте это». Это не объяснение.

2. Намного, намного лучше 🙂