Программирование Python по моим конспектам Лекция 8
Ахой, товарищи, немного я пропал. Но теперь вот я решил вернуться в семью ради 300 подписчиков. Сегодня, как обещал, мы поговорим о довольно большой теме.
Типы данных. Обычно с нее начинают, ну а мы вот только дошли до нее.
Как мы помним-в питоне данные отображаются с помощью объектов, причем каждый объект имеет свой айдишник, тип и значение. А значения отображаются с помощью литералов.
Кто забыл- читаем первые посты.
Итак, если мы заговорим ртом о таких литералах как 1123 и 'холоуворд', то мы начнем подозревать, что в первом случае идет речь о типе данных int, а во втором string или str.
Тип обьекта очень , так как он определяет определенные алгоритмы своей обработки интерпретатором. Вот пример
В первом случае произошло обычное сложение двух целых чисел. Во втором обьеденение двух строк. С этим мы еще не сталкивались, так что берем на прицел такую возможность. С помощью оператора "+" можно объединить две строки, и это будет называться чудным словом Конкатенация.
Так к чему же я это все тут рассказываю. Смотрим глазами ниже на эксперимент.
Матюкается красным цветом наш интерпретатор. А все потому, что оператор + зависит от типа данных. Ну а теперь попытаемся понять чего так происходит. Чтобы понять ошибки интерпретатора нужно думать как интерпретатор. Короче говоря считывает интерпритатор нашу еденичку и думает- ну по любому следующей должно быть либо целое число, либо число с запятой. И тут он получает нежданчик в виде строки, интерпретатор возмущается. Программист обижается.
Надеюсь, теперь стало понятно почему важно не путать типы данных.
Мы сталкивались пока что только с двумя типами данных- int и str, однако их гораздо больше, и вот все эти сволочи по списку
Наша задача- всех изучить. Начнем с моего любимого типа. Bool. Назван сей зверь в честь товарища Джорджа Буля, одного из создателей математической логики.
Я попытаюсь зайти издалека. Представим себе какое либо утверждение.
Земля круглая- это факт, и это правда.
А если мы скажем, что земля плоская- ну это ложь, однозначно.
А как бы нам все это дело изобразить так
earth_is_round=1
earth_is_not_round=0
Таким образом, мы заменили значение правда на 1, а ложь на 0.
А теперь нам и этого мало, нам хочется двигаться дальше и мы вместо 1 используем литерал True, а вместо 0 литерал False
earth_is_round=True
earth_is_not_round=False
Таким образом мы понимаем что bool переменные могут быть только в двух значениях "правда" или "ложь". Третьего не дано.
Именно в таком типе данных нам даст ответ интерпретатор, если мы введем неоспоримые факты
Если очень приспичит, мы можем забыть о литералах False и True, так как глубоко в душе интерпретатор воспринимает их как 1 и 0.
Мы даже арифметические операции производить можем.
Тип None.
Данный тип интересен тем, что он не содержит никакого значения. Ага, вот такой бездушный тип. Важно понять, что это даже не 0, это вообще нихрена. Пусто. Даже не опилки в голове винни пуха а вообще нихренашеньки.
мы не можем производить арифметические операции с этим типом. Ибо как можно что то делать с тем, чего нет?
Однако, пару вещей мы можем сделать с этим типом
На этом на сегодня закончим, и на выходных продолжим наше общение о более интересных типах данных. Сим желаю хорошего дня.
сложно читать даже такой простой код, когда в нем совершенно не стоят пробелы.
Лучше сразу писать по pep8, чем потом переучиваться
8ой урок, в Пайтоне динамическая типизация - нормально 8)
Хотя, каждому свое развлечение.
Давайте сразу к PyQt5, а то так и не нарыл себе халявных книг.
Здоров! Спасибо за урок :) У меня такой вопрос: В булевом типе - нужно указывать только true и false, или 0 и 1 тоже прокатит?
Пост то норм, только вот зачем? Хауди Хо на ютубе давно уже всех затмил.