Как ввести различные типы параметров в одну функцию в Python? - PullRequest
0 голосов
/ 06 апреля 2020

Я хотел создать свой собственный указанный модуль в Python для научной работы c, и решающим шагом является разработка моей функции. Например, я хотел бы построить функцию изотермы адсорбции Фрейндлиха: output = K * (c ^ n), с K и n в качестве констант, c является концентрацией соединения (переменной).

def Freundlich(K, c, n):
    ads_Freundlich = K * c ** n
    return ads_Freundlich

Однако, с этими кодами я мог только ввести K, c, n все как отдельные цифры. Я хотел бы знать, как я могу запустить функцию, давая константу (ы) в виде цифр и переменную (ы) в виде списков (или pandas ряд, и т. Д. c.). В конце я хочу, чтобы функция возвращала список. Спасибо!

1 Ответ

1 голос
/ 06 апреля 2020

Для ваниль Python вы должны использовать что-то вроде этого:

def Freundlich(K, c, n_list):
    return [K * c ** n for n in n_list]

Если вы передадите список написанной вами функции, он будет не быть автоматически векторизованным, как вы ожидаете; вместо этого он выдаст ошибку. Однако, как говорит @ juanpa , такое автоматическое преобразование c выполняется модулем python с именем numpy.

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