Найти тему
programmer's notes (python and more)

Программирование на Python. Дополнение к уроку 5 (типы данных, цикл for)

Оглавление

Доброго времени суток, читатели, зрители моего канала programmer's notes.

А это весь мой канал

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 #языки программирования