![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
mrgloom |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
допустим есть у меня функция, вроде бы address строка, а port число, но я не уверен, а тип переменных нигде не указан.
как возможно определить?
Это сообщение отредактировал(а) mrgloom - 22.5.2012, 12:48 |
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: нет Всего: 160 |
Что значит "есть у меня"? Если функция написана не Вами - смотреть документацию, комментарии к коду, если пишете сами - пишите комментарии, документацию. Ещё можно аргументы функций снабжать аннотациями типов, ЕМНИП. Добавлено через 3 минуты и 26 секунд Только в Python 3. -------------------- |
|||
|
||||
mrgloom |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
написана не мной, документации нет.
а в питоне число может трактоваться как стока и наоборот? |
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: нет Всего: 160 |
Если я правильно понял, то нет. Типизация строгая. Ну, тогда никак. В Python объекты имеют тип, а вот переменные (которые суть есть ссылки на объекты) - нетипизированы. -------------------- |
|||
|
||||
Stolzen |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 1 Всего: 48 |
||||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: нет Всего: 160 |
Stolzen, это не то. Ещё раз - можно определить тип объекта (во время исполнения), но нельзя определить, объект какого типа необходимо передать в функции в качестве её аргументов, если не использовались аннотации или комментарии к коду.
-------------------- |
|||
|
||||
Stolzen |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 1 Всего: 48 |
Ну так да, а что вы хотели от динамически типизированного языка?
![]() |
|||
|
||||
mrgloom |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
ну может все таки по коду как то можно определить?
все таки там исользуются какие то стандартные функции из питона, или там тоже может быть некая неопределенность. дело в том что я из с++ вызываю функции из питона и мне надо знать что у них на входе и на выходе. |
|||
|
||||
mrgloom |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
выглядит все примерно так
|
|||
|
||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 10 Всего: 173 |
Как уже не раз повторили, только инспекцией кода или методом проб и ошибок.
В данном конкретном случае ожидать строку на месте аргумента с номером порта мог только очень «одарённый» Python-программист. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
Karadul |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 18.5.2006 Репутация: нет Всего: 1 |
Чтобы прога не падала, стоит добавить проверку на возвращаемый тип и кидать исключение.
|
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Python: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |