Что эквивалентно вызываемой функции javascript в качестве параметра класса в python?

В javascript я могу добавить параметр функции в свой класс функций следующим образом:

const MyFunc = function(){
  const myfunc = this
  myfunc.hi = () => {
    console.info('hi')
  }
}

const myFunc = new MyFunc()
myFunc.hi()

Что эквивалентно в питоне?

class MyClass:
    def __init__(self, hi):
        self.hi = def func():
            print('hi')

Почему бы просто не сделать это методом класса? Даже в JavaScript hi должен быть методом прототипа.

vera. 07.10.2022 21:06

Да - это то, что я пытаюсь понять, как это сделать. :) Я новичок в питоне.

Dshiz 07.10.2022 21:07

Затем используйте учебник, например. docs.python.org/3/tutorial/classes.html

jonrsharpe 07.10.2022 21:08
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
3
57
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Это довольно просто в питоне,

class MyClass:
    def func(self):
        print('hi')

c = MyClass()
c.func()
Ответ принят как подходящий

Вы можете использовать lambda.

self.hi = lambda: print('hi')

Но вместо этого имеет смысл определить метод класса.

class MyClass:
    def hi(self):
        print('hi')

MyClass().hi()

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

class myClass:
    def __init__(self):
        myfunc = self
        myfunc.hi = lambda: print('hi')

myFunc = myClass()
myFunc.hi()

В Python нет анонимных многострочных функций, как в JS.

Barmar 07.10.2022 21:12

Другие вопросы по теме