Программирование и научные вычисления на языке Python/§15: различия между версиями
Содержимое удалено Содержимое добавлено
LeoMat (обсуждение | вклад) Нет описания правки |
LeoMat (обсуждение | вклад) Нет описания правки |
||
Строка 3:
==Простые классы функций==
Классы могут быть использованный в научных вычислениях для решения многих задач, но чаще всего они востребованы в представлении математических функций с некоторым набором параметров и одной или несколькими независимыми переменными.
<math>y(t) = v_0(t) - \frac{1}{2}gt^2</math>.
Строка 53 ⟶ 49 :
Требования к представлению функций таким образом состоит в том, чтобы они принимали только независимую переменную, то есть, получается, выглядели так:
Строка 84 ⟶ 80 :
Класс заключает в себе набор переменных (данных) и набор функций, связанных в единое целое. Переменные видны изнутри класса всем его функциям. То есть они «глобальные» для функций своего класса. Класс похож на модуль, но находящийся в тексте самой программы. Но при этом по технике его использования он существенно отличается. Например, вы можете создать множество копий одного класса, в то время как модуль выступает в единственном числе. Когда мы получше познакомимся с классами, вы и сами увидите схожие моменты и отличия. А сейчас продолжим рассмотрение нашего примера.
Строка 92 ⟶ 88 :
Законченный код для нашего класса <tt>Y</tt> выглядит следующим образом:
Строка 109 ⟶ 105 :
Перед тем как мы станем разбираться с тем как этот класс сделан, начнем с того, что покажем как он может использоваться.
Строка 137 ⟶ 133 :
Внутри конструктора <tt>__init__</tt> аргумент <tt>self</tt> это переменная, содержащая создаваемый экземпляр. Когда мы пишем
Строка 173 ⟶ 169 :
В классе мы можем иметь так много атрибутов и методов, как захотим, так что давайте добавим новый метод к классу <tt>Y</tt>. Этот метод назовем <tt>formula</tt> он будет выводить стоку, содержащую формулу математической функции ''y''. После этой формулы мы выводим значение ''v<sub>0</sub>'':
Строка 237 ⟶ 233 :
Использование класса позволяет создать несколько функций <tt>y</tt> с разными значениями <tt>v0</tt>:
Строка 258 ⟶ 254 :
Классы, как и функции, могут быть описаны простым человеческим языком сразу в следующей строке после заголовка с помощью doc strings — строк документации. Вводятся они абсолютно таким же образом, с помощью тройки двойных кавычек с каждой стороны:
Строка 341 ⟶ 337 :
мы создаем атрибут <tt>self.v0</tt> в методе <tt>value</tt>. Теперь
Строка 347 ⟶ 343 :
дает 5. Это значение <tt>v0</tt> используется пока новый вызов не изменит его.
|