Занятие 5. Документация.
Содержание
Разбор контрольной работы.
1) Можно длинно и мерзко:
А можно коротко:
2) В лоб:
Другой вариант:
Разбор предыдущей к/р
1) Скалярное произведение:
2)
Документация.
Разделение строк.
В приличном обществе не пишут строчки длинее 80!
Для разделения 1 строки на несколько в коде:
- Явный способ (с помощью скобок)
- - если в строке встречаются непарные открывающиеся скобки, то Питон считает, что строка будет продолжена до тех пор, пока в следующих строках не встретиться соответствующие закрывающиеся скобки. Такая запись вернет кортеж (1,2,3,4).
- Неявный (с помощью слэшей)
Равнозначно записи выше можно записать:
Предпочтительней использовать первый способ.
Для пробелов (имеются ввиду пустые строки) существуют следующие правила хорошего тона:
- 1) между классами ставятся 2 пустых строки.
- 2) внутри классов пуcтых строк быть не должно!
- 3) все классы и функции разделяем пустой строкой.
statement и expression
В Python, как и в подавляющем числе языков программирования есть две категории конструкции,
- между которыми необходимо понимать разницу: statement и expression.
Expression - это просто выражение. Примеры выражений в Python:
a+b a-b (a+b)/5**1000 abs(a) a==b a<b<c a<v and b<c 2 "a" [a,b]
Statement (~оператор) - это одна команда языка Python. Примеры:
a=<expression> #присваивание return <expression> print <expression> # в текущей версии Python - оператор, однако в следующей это будет функция import
Существуют составные операторы:
def имя(аргумент) statement statement class Условие if Циклы while и for Также оператором является просто: <expression>
Python посчитает его выражение и забудет результат. Это используется, например, для вызова функции, которая ничего не возвращает, а просто выполняет какое-то действие.
"Greet someone named world" является описанием функции hello. Если мы напишем help(hello), то Python вернет "Greet someone ...".
Все что в кавычках возникает в памяти Python и моментально забывается!
Описание пишется только в начале! Поэтому "This is junk" не является описанием!
Если пишем большой хэлп:
'''Краткое описание. полное описание '''
Описание для классов аналогично описанию для функций:
class Vector(object) "2D vectors"
аналогично и для модулей!
Описание модуля Astro: "Tools to build model of solar systems"
Чтобы обратиться к описанию:
Кстати! По правилам хорошего тона, все импорты пишутся сначала!
Можно проверить, правда ли написана в этом примере. Для этого надо:
import doctest doctest.testmod()
Единственное, если после диалога идет текст, то надо поставить пустую строку, чтобы их разделить.