Использование стилей вызова функции Objective C в Python - PullRequest
2 голосов
/ 01 августа 2011

Я знаю, что этот вопрос получит довольно сильные комментарии, но я все равно его опубликую.

Я работаю над проектом на Python.Моими простыми причинами выбора Python являются доступные библиотеки, а также кроссплатформенность и открытый исходный код.Моя проблема в том, что мне действительно нравится кодировать с очень подробными, описательными именами методов Objective C. Тип функций, которые я должен написать, может иметь довольно сложные аргументы, и я считаю, что с подходом Objective C мне не нужно постоянновернитесь к другим фрагментам рассуждений, чтобы убедиться, что я использую правильные аргументы с правильными функциями.

Есть ли способ использовать стиль Objective C для вызова функций с Python?Я знаю, что это, вероятно, не соответствует рекомендуемым стилям кодирования для Python, но оно подходит для того, что я делаю сейчас, поэтому я хотел бы попытаться найти способ сделать это, если это возможно.

1 Ответ

4 голосов
/ 01 августа 2011

Если вы имеете в виду, «могу ли я написать вызов в квадратных скобках вместо круглых и поместить их вокруг имен объектов и методов вместо после и пропустить запятые», то нет.

Если вы имеете в виду «могу ли я дать подробные, описательные имена методов», тогда, конечно, вы можете; Вы можете сделать это на любом языке, который стоит упомянуть.

Я думаю, что вы на самом деле имеете в виду «могу ли я использовать аргументы ключевых слов, как в [myObject frobnicateWithHax:42 Foo:23 Bar:69]?». Да; в Python это пишется myObject.frobnicateWith(hax=42, foo=23, bar=69). Что касается определения функции, есть несколько способов заставить ее работать, в зависимости от того, что именно вы хотите; см. документацию (или хорошую ссылку или учебное пособие) для аргументов по умолчанию и kwargs.

Честно говоря, Google отвечает на этот вопрос лучше, чем SO, когда вы немного узнаете о том, как называются эти языковые функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...