Я очень новичок в Python и просто действительно копаюсь во всех областях понимания классов / объектов.Вот с чем я действительно борюсь: если у меня есть класс «утка» с атрибутами и функциями-членами в файле duck.py, и я работаю с функцией в witch.py, которая принимает класс утки. Я выполняю инструкцию import
import duck
Тогда в моей функции:
def doesitfloat(myduck, mywitch):
if myduck.boyancy() == 'floats':
...
как 'diditfloat' узнает, что myduck является утиным объектом с указанными атрибутами / функциями-членами?Я думаю, что я понимаю общие понятия о классах, но когда я создаю один, как я могу использовать его в другом месте?
Редактировать ... Мой первый пост и новичок в Python - что я могусказать.Позвольте мне изложить ..
В моем файле класса duck.py у меня есть:
class duck:
def buoyancy(self):
return True
В другом файле witch.py у меня есть функция diditfloat () с соответствующим импортом
import duck
def doesitfloat(myduck, mywitch)
if myduck.buoyancy() == 'floats':
...
Откуда «diditfloat» знает, что myduck - это объект или тип «утка»?Теперь, в другом фрагменте кода - возможно, даже в третьем файле, с соответствующим объявленным импортом, у меня есть следующее:
someduck = duck
somewitch = witch
testingsomething = doesitfloat(someduck, somewitch)
ясно, что класс объявлен, и локально в моем третьем файле я объявил someduck инекоторые объектыТем не менее, функция 'doesitfloat' никогда не говорит, что это объект "утка".В других языках объявление 'doesitfloat' явно указывало бы тип аргумента, но python ... ??Извините, меня это смущает.