Как отправить переменную на функцию в классе?
Немного запутался в классах Python. Допустим у нас есть класс:
class Hello:
def hi(self, h2): #можно ли так?
print(h2)
h1 = Hello()
h1.hi(“Hello, idiot”)
Перейдет ли переменная которую я ввел в self?
И второй вопрос: Иногда в скобках функций пишут вот так:
def hi(resource: dict)
Что это значит? Типа уточняют какой тип данных?
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
А в чём сложность взять и проверить? Просто добавляете print(self) и запускаете ваш код (только пришлось поменять кавычки, они у вас какие-то не питоновские):
class Hello:
def hi(self, h2):
print(self)
print(h2)
h1 = Hello()
h1.hi("Hello, idiot")
Вывод:
<__main__.Hello object at 0x7fe72b88b4d0>
Hello, idiot
Резюме:
- Так можно, код работает.
- Ваша переменная попала в
h2 - В
selfпопала ссылка на экземпляр классаHello, т.е. на вашу переменнуюh1, от которой вы вызвали этот методhi.
P.S.
def hi(resource: dict)
Что это значит? Типа уточняют какой тип данных?
Да, это "аннотация типов" - попытка сделать Питон типизированным языком.