Доброго времени суток, читатели, зрители моего канала programmer's notes.
А это весь мой канал
Данные заметки это приложение к уроку 5.
Остановимся подробнее на вопросах урока 5.
Типы данных в Python
Мы снова вернулись к типам данных. Вопросы эти будут снова и снова рассматриваться, потому что это важные вопросы. Преобразование одного типа данных к другому может быть явным или не явным. Также вместо термина преобразование часто используют термин приведение типов. Для явного преобразования типов в Python используют функции, о которых я говорю на протяжения практически всех предыдущих уроков. В последнем уроке я их перечислил: int(), float(), str(), bool(). Если мы написали
a = 5
b = float(a)
То мы получим переменную b вещественного типа. Это явное преобразование.
a = 5
b = 5.0
c = a // b
Переменная c при этом будет вещественного типа. При этом можно написать c = a / b, результат будет тем же. Преобразование не явное и прежде всего потому, что само определение переменных может находится в программе, где угодно и по выражению нам абсолютно не понятно какого типа переменная c. Кроме того, и это, конечно, совсем уже не хорошо с точки зрения строгого подхода, переменная может менять свой тип. Поэтому повторю тезис, который прозвучал на уроке: преобразование типов нужно производить явно.
При этом, все рассмотренные типы данных приводятся к логическому типу. А я напоминаю, что не каждая строка может быть приведена к целому или вещественному числу. И для явного преобразования используется функция bool(). Если мы помещаем некоторое выражение, которое заведомо не дает логический результат в условие (if или while) то это пример не явного преобразование любого типа к логическому. При этом не нужно забывать, что
- Целое не нулевое число преобразуется в True, целое нулевое число преобразуется в False.
- Вещественное не нулевое число преобразуется в True, вещественное нулевое число преобразуется в False.
- Не пустая строка преобразуется в True, пустая строка (срока нулевой длины) преобразуется False.
Пока это все, с появлением новых типов, список будет пополняться.
Результат выполнения программы
9
8
7
6
5
4
3
2
1
0
Цикл for в python
Тут очень интересна функция range(), с помощью которой можно получить набор целых чисел в определенном диапазоне и с определенном шагом. Общий вид функции range(start, end, step). При этом если отсутствует start, то он по умолчанию считает 0. В случае отсутствия step шаг принимает 1. При это range() это не последовательность чисел, это генератор. Число появляется только при обращении к функции в цикле. Я не зря обращаю читателя на это внимание, потому как если я указал range(1, 1000000), то нужна была бы память для хранения миллиона чисел. А так хранятся только входные параметры. К этому вопросу мы еще вернемся, но к сложным вопросам нужно подбираться заранее. Кстати заметим, что шаг step может иметь и отрицательное значение.
Вот я и сделал заход.
Что касается цикла for. В уроке я показал только один из вариантов использования данного цикла. Хотя в таком виде этот цикл чаще всего используется, но есть и другие варианты, о которых мы будем постепенно узнавать.
C циклом for можно использовать команды break, continue, else, также как с циклом while.
Всего наилучшего. Оставляйте свои комментарии, не забывайте про лайки и подписывайтесь на мой канал programmer's notes.
#программирование #программисты #python #языки программирования