Как обратиться к методу класса с
Перейти к содержимому

Как обратиться к методу класса с

  • автор:

Вызов метода класса в другом методе этого же класса

При попытке вызвать метод: delFromArray(objects,5) , говорит, что нет такой функции. Как правильно это делается в питоне?

Отслеживать
6,459 4 4 золотых знака 35 35 серебряных знаков 57 57 бронзовых знаков
задан 31 мар 2017 в 11:25
69 1 1 золотой знак 1 1 серебряный знак 11 11 бронзовых знаков
self.delFromArray(objects,5)
31 мар 2017 в 11:53
либо вынести функцию def delFromArray(arr,count) за пределы класса
31 мар 2017 в 11:57

Спасибо, дружище. Ответь полноценно, отмечу как ответ на мой вопрос. Все работает! первый вариант лучше подходит)

31 мар 2017 в 11:59

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

delFromArray(arr,count) — это вызов внешней функции, которая определена вне класса. Чтобы внутри класса вызвать один из методов самого класса нужно добавлять к вызову self . Т.е. self.delFromArray(arr,count) . Так как данный метод все-таки определен внутри класса, то его стоит сделать статическим:

@staticmethod def delFromArray(arr,count): pass 

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

Author24 — интернет-сервис помощи студентам

Вызов статического метода из другого класса
Добрый день. Есть MAIN.cpp: STDMETHODIMP CMAIN::Function1(VARIANT Data,BYTE* pBuff) < .

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

Вызов метода объекта внутри определения метода другого объекта(вложенные классы)
Как мне вызвать метод объекта slider класса Slider внутри определения метода объекта класса.

495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
в данном примере никак

Эксперт С++

13515 / 10763 / 6416
Регистрация: 18.12.2011
Сообщений: 28,741

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
#include using namespace std; class A { public: void Show() { cout  "A"  endl; }; }; class B { public: void Sm() { A a; a.Show(); cout  "B"  endl; } }; int main() { B ob; ob.Sm(); return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#include using namespace std; class A { public: static void Show() { cout  "A"  endl; }; }; class B { public: void Sm() { A::Show(); cout  "B"  endl; } }; int main() { B ob; ob.Sm(); return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#include using namespace std; class A { public: void Show() { cout  "A"  endl; }; }; class B:public A { public: void Sm() { Show(); cout  "B"  endl; } }; int main() { B ob; ob.Sm(); return 0; }

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Вызов метода производного класса через обращение к методу базового класса
Добрый день. Изучаю основы ООП, наткнулся на проблему. Если создавать классы внутри main.cpp.

Вызов метода класса в лямбде-функции, вызываемой в другом методе этого же класса
Здравствуйте. Помогите грамотно передать в лямбду метод класса. Упрощенно. Есть класс. В одном.

Вызов метода в классе из другого
Не получается выполнить следующую цепочку действий. Запускаю метод в классе B через main, он.

Вызов метода класса без создания экземпляра класса.
В общем мне для функционирования одной программы нужно постоянно вызывать метод одного из классов.

Или воспользуйтесь поиском по форуму:

�� Как обратиться к методу внутри класса Python? Легкий и понятный способ

В Питоне, чтобы обратиться к методу внутри класса, нужно создать экземпляр класса и затем вызвать метод, используя имя экземпляра и имя метода через точку. В приведенном примере, метод `my_method` вызывается внутри класса `MyClass` путем создания экземпляра `obj` и вызова метода с помощью оператора точки `obj.my_method()`.

Детальный ответ

Как обратиться к методу внутри класса в Python

Когда мы работаем с классами в Python, иногда возникает необходимость вызвать один метод внутри другого метода. В этой статье мы рассмотрим различные способы обращения к методу внутри класса в Python.

1. Обращение к методу через объект класса

Самым простым способом вызова метода внутри класса является обращение к нему через объект класса. Для этого нужно использовать имя объекта класса и точечную нотацию, указав имя метода.

 class MyClass: def method1(self): print("Method 1 called") def method2(self): print("Method 2 called") self.method1() # Вызов метода method1 через объект класса obj = MyClass() obj.method2() # Вызов метода method2 через объект класса 

В данном примере мы создаем класс MyClass с двумя методами: method1 и method2. В методе method2 мы вызываем method1, используя ключевое слово self, которое представляет текущий объект класса.

2. Обращение к методу через ключевое слово self

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

 class MyClass: def method1(self): print("Method 1 called") def method2(self): print("Method 2 called") self.method1() # Вызов метода method1 через ключевое слово self obj = MyClass() obj.method2() # Вызов метода method2 через объект класса 

В этом примере мы также вызываем method1 из method2, но вместо использования объекта класса мы используем ключевое слово self для обращения к методу.

3. Обращение к методу с помощью другого метода

Если мы хотим вызвать метод внутри класса из другого метода, мы можем использовать выражение «self.имя_метода()». Этот подход удобен, когда мы хотим вызвать метод из нескольких других методов в классе.

 class MyClass: def method1(self): print("Method 1 called") def method2(self): print("Method 2 called") self.method3() # Вызов метода method3 через self def method3(self): print("Method 3 called") self.method1() # Вызов метода method1 через self obj = MyClass() obj.method2() # Вызов метода method2 через объект класса 

В этом примере мы вызываем method3 из method2, а затем method1 из method3. Оба вызова методов выполняются через ключевое слово self.

4. Обращение к методу с помощью класса

Помимо обращения к методу через объект класса, мы также можем вызвать метод, используя имя класса и ключевое слово self. Этот подход полезен, если нам необходимо вызвать метод без создания объекта класса.

 class MyClass: @classmethod def method1(cls): print("Method 1 called") @staticmethod def method2(): print("Method 2 called") MyClass.method1() # Вызов метода method1 через имя класса и self MyClass.method2() # Вызов метода method2 через имя класса 

В этом примере мы определяем два метода: method1 и method2. Метод method1 помечен декоратором @classmethod, который позволяет вызывать его через имя класса. В методе method2 мы вызываем method1, используя имя класса MyClass.

Вывод

Мы рассмотрели несколько способов обращения к методу внутри класса в Python. Вы можете использовать объект класса или ключевое слово self для вызова метода. Кроме того, мы можем вызывать метод через другой метод или даже через имя класса, используя ключевое слово self. Выбор метода зависит от вашей конкретной ситуации и требований вашей программы.

Как мне вызвать метод из другого класса?

Есть два класса, в одном из которых есть метод мэйн, в другом классе тоже есть методы. Как мне из класса. где есть метод мэйн вызвать методы другого класса?

  • Вопрос задан более трёх лет назад
  • 44608 просмотров

Комментировать
Решения вопроса 0
Ответы на вопрос 5
Михаил @cocain1988

Если я правильно понимаю то тебе нужно вначале объявить класс, метод которого ты хочешь вызвать. К примеру так:

class Apple < public String color; public String color()< return color>> class Shop < public static void main(String[] args)< Apple a = new Apple(); System.out.println( a.color() ); // Данный метод должен вывести цвет. >>

А более подробно лучше конечно прочитать документацию по тем ссылкам которые указывались ранее.

Ответ написан более трёх лет назад
Нравится 5 1 комментарий
Спасибо, хоть один добрый человек объяснил для чайников
software engineer
Пройди туториал чтоли?
docs.oracle.com/javase/tutorial
Ответ написан более трёх лет назад
Нравится 3 1 комментарий
olololosh @olololosh Автор вопроса
спасибо, сам вспомнил, а то посреди ночи голова уже не варит, не подумав, сразу вопросы задаю
localghost @localghost

И как-то никто, по-моему, даже не намекнул на суть.
КМК, не хватает понимания, что (обычно) нельзя вызвать просто метод класса. Класс — это шаблон, по которому создаются объекты. Чтобы вызвать «метод класса», надо создать объект этого класса, а потом обратиться к объекту, мол, дорогой, вызови-ка свой метод такой-то.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *