Основы питон. #инструкция объявляющая переменную var и присваивающая ей значение равное 5
Скачать 262.43 Kb.
|
>>> print('Monty Python's flying circus') SyntaxError: invalid syntax *в случае какой-либо ошибки в коде, Python сообщит нам об этом соответствующим сообщением Существует способ, при котором можно избежать ошибки и при этом использовать кавычки только одного типа: >>> print('Monty Python\'s flying circus') Monty Python's flying circus Данный способ называется экранирование, с помощью символа "\" мы отменили действие кавычки, и она стала восприниматься, как часть текста. Подобные элементы мы рассмотрим в разделе "Строки". Примеры использования кавычек для определения строковых выражений: >>> print("String") String >>> print('String') String >>> print('''Str ... ing''') Str ing >>> print('Str"ing') Str"ing Комментарии - вспомогательные строки, не обрабатываемые программой, обозначаются знаком # перед началом строки и действуют до конца строки. Зачастую бывает полезно записать комментарий, чтобы оставить напоминание о том, что выполняется в программе в данный момент. Пример: >>> print("комментарий справа") # Функция print() позволяет выводить результат на экран комментарий справа Вложенная инструкция – часть общей инструкции выполняющаяся при определенных условиях, в этом случае условие заканчивается двоеточием, а само вложенное выражение должно отступать на 4 пробела от места, откуда начинается условие. Пример: #инструкция объявляющая переменную var и присваивающая ей значение равное 5 var = 5 #основная инструкция 1 if var < 3: #вложенная инструкция, отступает от основной инструкции 1 print("less") #основная инструкция 2 else: #вложенная инструкция, отступает от основной инструкции 2 print("more") Вопрос к размышлению Почему вложенная инструкция должна отступать на 4 пробела? Отступ в 4 пробела необходим для того, чтобы программа понимала, где начинается вложенная инструкция и к какой основной она относится. Можно использовать и табуляцию, но в руководстве по написанию кода на Python отступ в 4 пробела стоит на первом месте, так как он считается наиболее распространенным среди программистов. Главное не мешать разные варианты отступов в одном коде. На самом деле вопрос об отступах является одним из наболевших в программировании. В 2016 году разработчики компании Google решили произвести анализ кода разработчиков, лежащего на ресурсе GitHub и выявить наиболее популярный способ форматирования текста для разных языков программирования. Проанализировав 400 тысяч репозиториев они получили следующую картину: Для большинства языков программирования (Java, Python, JavaScript, PHP) разработчики преимущественно используют пробел, однако в языке С более популярным способом форматирования является табуляция. В программе может быть несколько уровней вложенных инструкций, в таком случае надо на каждом уровне делать отступы от начала предыдущей вложенной инструкции. Пример: # объявляем переменную var равную 5 var = 5 # основная инструкция if var > 3: # вложенная инструкция уровня 1 if var > 4: # вложенная инструкция уровня 2, отступает на 4 пробела от # вложенной инструкции уровня 1 print("more than 4") Допустимо писать одноуровневые инструкции в одну строчку, если в итоге получается не очень длинная строка: if var < 3: print("like this") В данном разделе рассмотрены основные моменты, которые нужны для начального понимания синтаксиса. В дальнейшем мы будем обращать внимание на новые элементы, которые будут возникать в процессе обучения. Также мы рекомендуем почитать PEP 8 - руководство по написанию кода на Python. Типы и объектыТипы данныхЯзык Python характерен своей неявной динамической типизацией. Это означает, что при задании какой-либо переменной, нам не надо объявлять ее тип (число, строка, и т.д.), как это сделано в языке С. То есть достаточно просто присвоить ей значение и в зависимости от того, какое это значение, Python сам определит тип переменной. Существует несколько видов типов данных - встроенные и не встроенные. Встроенные - те типы, которые встроены в интерпретатор, не встроенные - типы данных, которые можно импортировать из других модулей. В данном курсе нам достаточно рассмотреть только встроенные типы. None type - тип, представляющий отсутствие значения. None - неопределенное значение переменной. Зачастую, чтобы отловить какую-то ошибку записи значения куда-либо, мы применяем проверку на отсутствие значения в переменной, ячейке базы данных, таблицы и т.д. или используем в качестве значения по умолчанию. Попробуйте повторить код приведенный ниже и посмотрите какой будет результат: null_variable = None not_null_variable = 'something' if null_variable == None: print('null_variable is None') else: print('null_variable is not None') if not_null_variable == None: print('not_null_variable is None') else: print('not_null_variable is not None') Логический тип данных (bool) удобно использовать, когда результатом условия может быть только "да" или "нет". В математическом представлении True = 1, False = 0. True - логическая переменная, истина False - логическая переменная, ложь Попробуйте выполнить код, приведенный ниже, и посмотрите, что выведется на экран. a = 0 b = 0 print(a < b) print(a > b) print(a == b) Целые числа используются для стандартных арифметических операций, когда нас не интересует точность, до n-го знака. int - целое число Напротив, числа, применяющиеся для точных вычислений до n-го знака после запятой - числа с плавающей точкой. При арифметическом взаимодействии двух типов (int и float), результат всегда будет иметь тип float. float - число с плавающей точкой Комплексные числа предназначены для более сложных математических вычислений, они состоят из вещественной и мнимой части. complex - комплексное число Более подробно об этих типах будет рассказано в разделе "Числа". Строки мы используем для формирования сообщений, каких-либо сочетаний символов, текстовой информации. Более подробно об этом типе будет рассказано в разделе "Строки". str - строка Типы коллекцийСписки являются своего рода хранилищем данных разного типа, другими словами списки – это массивы, только хранить они могут данные разных типов. Более подробно об этом типе будет рассказано в разделе "Списки". list - список Кортеж – это список, который после создания нельзя изменить, очень полезно его использовать для защиты "от дурака", чтобы по ошибке данные не были изменены. Более подробно об этом типе будет рассказано в разделе "Кортежи". tuple - кортеж Генератор списков используется, когда нам нужно вывести последовательность целых чисел. Более подробно об этом типе будет рассказано в уроке "Циклы". range - диапазон, неизменяемая последовательность целых чисел. Множества – коллекции для неповторяющихся данных, хранящие эти данные в случайном порядке. set - множество frozenset - неизменяемое множество Более подробно об этих типа будет рассказано в разделе "Множества". Словари – являются набором пар "ключ"-"значение", довольно удобный тип данных для формирований структур. Более подробно об этом типе будет рассказано в разделе "Словари". dict - словарь Следующие два типа перечислены для ознакомления, в дальнейшем мы не будем уделять им практического значения в рамках данного курса. Байт – это минимальная единица хранения и обработки цифровой информации. Данный тип допускает возможность производить изменение кодировки символов в зависимости от задач. bytes - байты Последовательность байт – представляет собой некую информацию (текст, картинка и т.д.). Помимо изменения кодировки, имеет дополнительные возможности применять методы к перекодированным строкам и вносить изменения. bytearray - массивы байт |