fbpx

Каталог статей

Каталог статей для размещения статей информационного характера

Как выучить

Основные типы переменных и операторы

Основные типы переменных и операторы

Мы используем операторы +, -, *, / для выполнения операций сложения, вычитания, умножения и деления.

Нужно обратить внимание, что в Python2 при 10/3 получится 3, а не 3.33333. Это потому, что делимое и делитель – int, поэтому ответ также будет int. Но в Python3 мы получим 3.333, так как здесь изменена логика. Поскольку Python2 уже устарел, можно пропустить эту деталь.

Если мы хотим получить результат с целочисленным типом, мы можем использовать // вместо /.

Две косые черты означают деление на пол, Python сохранит результат без остатка.

Кроме деления пополам, для получения остатка можно использовать операцию modulo. В Python для этого мы используем %.

Python также поддерживает операцию экспоненцирования, мы используем нотацию **.

Когда операция немного сложна, мы можем использовать круглые скобки, чтобы изменить порядок или вычисления.

Булевы операции

В Python есть две булевы константы True и False.

Мы используем ‘and’ для выполнения операции and, ‘or’ для выполнения операции or и ‘not’ для выполнения операции not. Это отличается от C++ с &&, || и ! для обозначения операций and, or, not.

В действительности True и False равны 1 и 0 в базовой логике. Поэтому можно выполнять операции следующим образом, но в логике это бессмысленно.

Мы используем ==, чтобы определить, равны ли две переменные. Мы видим, что True == 1, а False == 0.

Нам нужно быть осторожными с функцией bool, она не означает преобразование переменной в булеву. Если мы выполним эту операцию, то только 0 будет False, а все остальные значения будут True.

Мы можем использовать ‘and’ и ‘or’ для объединения каждого логического вычисления.

Noted the priority between ‘not’, ‘and’ and ‘or’, it’s not > and > or. Если вы запутались, то можете использовать круглые скобки для решения.

список и строка

У нас есть две обычные операции для определения равенства двух списков. Одна из них ==, а другая – ‘is’. В чем разница между ними? Давайте рассмотрим примеры.

Python – это язык с повсеместным использованием ссылок, мы используем ссылки для представления объектов. Операция ‘is’ используется для определения того, относятся ли две ссылки к одному и тому же объекту, в то время как == используется для определения того, имеют ли ссылки одинаковое значение.

Например, если ссылка сравнивается с адресом, то операция ‘is’ используется для определения того, одинаковы ли эти два адреса, а == используется для определения того, одинаковое ли имя у двух домовладельцев адреса.

Очевидно, что у нас может быть несколько Джеков по разным адресам, но если у двух парней один и тот же домашний адрес, они должны быть одним и тем же человеком. Поэтому если a is b – True, мы также можем быть уверены, что a == b, но не наоборот.

Строка

В Python для обозначения строки мы можем использовать как одинарные, так и двойные кавычки. Я предпочитаю одинарные кавычки, так как их проще использовать в коде.

Для объединения двух строк можно использовать операцию плюс, кроме того, Python также объединит строки, если мы напишем их вместе.

Мы также можем использовать операцию bra

Давайте вспомним использование функции bool(), на самом деле она используется для определения того, пуста ли переменная. Все пустые значения по умолчанию приводят к False, в противном случае возвращается True. Пустыми значениями по умолчанию в Python являются 0, “”,

, [], (), None и т.д.

Переменная и коллекция<>Ввод и вывод

В Python стандартными методами ввода и вывода являются ‘input’ и ‘print’.

Когда мы вызываем print, Python выводит строку на терминал. Если параметр не является строкой, Python вызовет свою функцию str для получения строки. Каждая строка будет заканчиваться переводом строки, вы можете использовать аргумент ‘end’, чтобы изменить его.

При вызове функции ‘input’ аргумент будет выведен на консоль в виде подсказки. Результат, возвращаемый функцией ‘input’, – это строка.

Переменная

В Python мы можем присваивать переменные напрямую, без необходимости объявлять их тип. Если вы используете неназначенную переменную, это вызовет ошибку NameError.

Python поддерживает тернарный оператор, но грамматика отличается от C/C++. В C++ мы используем C ? a : b, а в Python – a if C else b.

Приведенный выше код равен []:

В Python [] означает пустой список, мы также можем инициализировать его значениями напрямую.

Используйте метод ‘append’, чтобы добавить значение в конец списка, или метод ‘pop’, чтобы опустить значение в конец.

Вы можете получить доступ к элементу с помощью [] и индекса, как и в других массивах. Отрицательный индекс также допустим, это означает, что запрос выполняется в обратном порядке.

Если индекс превысит длину массива, возникнет исключение IndexError.

Список поддерживает операцию slice, то есть копирование сегмента массива. Для получения среза мы используем start: end, начальный индекс включается, а конечный – нет.

Вы можете опустить start или end, если опустить start, то это означает начало с 0, если опустить end, то это означает конец до последнего. Если и начало, и конец опущены, значит, все элементы включены.

Slice поддерживает шаг, мы можем задать шаг, Python будет пропускать элементы между шагами. Например, [1:5:2] означает от индекса 1 до индекса 5 с шагом 2, результатом будет [1, 3]. Если шаг раве н-1, это означает, что элементы будут получены в обратном порядке.

Если мы хотим получить обратный сегмент элементов, а не весь массив. Мы должны поменять местами начало и конец. Например, если мы хотим получить [3:6] в обратном порядке, нам нужно использовать [6:3:-1].

Get slice только с двоеточием означает получение всех элементов или глубокой копии массива.

Мы можем использовать метод del или remove для удаления элемента в определенном индексе.

С помощью функции ‘insert’ можно вставить элемент в определенный индекс. А функция ‘index’ может получить индекс первого найденного элемента, соответствующего заданному значению.

Мы можем использовать нотацию плюс или функцию ‘extend’ для объединения двух массивов.

Мы можем использовать ключевое слово ‘in’ для определения существования заданного значения и функцию ‘len’ для получения длины.

кортеж

Кортеж очень похож на список, мы можем инициировать кортеж с помощью (). В отличие от списка, кортежи неизменяемы. Мы не можем изменить кортеж после инициализации. Если мы это сделаем, возникнет исключение TypeError.

Если мы хотим создать кортеж, состоящий только из одного элемента, мы должны добавить запятую в конце, иначе () будет рассматриваться как простые парентезы, и вы получите простую переменную.

Кортеж поддерживает большинство операций List.

Мы также можем использовать мультипеременные для распаковки кортежей.

Мы добавляем звездочку перед переменной b, это означает, что это список. Поэтому Python сначала упорядочит другие переменные, а оставшиеся значения присвоит b.

Кроме того, сам кортеж неизменяем, но его элемент может быть изменен. Например, если у нас есть кортеж следующего вида:

Хотя мы не можем вставить в него элемент, но у него есть список. Мы можем изменять элементы списка. Это нормально.

Dict также является очень полезной коллекцией Python, она похожа на map в C++, используется для хранения пары ключ-значение. Мы используем скобку для определения dict и символ common для разделения ключа и значения.

Ключ dict должен быть неизменяемым, поэтому список, множество или другой dict не может быть ключом dict. В противном случае это вызовет исключение.

Мы также используем скобки для запроса значения, вместо индекса мы используем ключ.

Мы можем вызвать функции ‘keys’ и ‘values’, чтобы запросить все ключи и значения диктанта. Она вернет итерируемый объект, мы можем преобразовать его в список.

Мы также можем использовать функцию ‘in’ для проверки существования ключа.

Если мы используем скобку для запроса несуществующего ключа, это приведет к ошибке. Но если мы используем функцию get(), она вернет только None без каких-либо исключений.

Мы можем использовать функцию setdefault для вставки резервного значения для ключа, если ключ существует, она ничего не сделает.

Мы можем использовать функцию update, чтобы использовать другой dict для обновления текущего. Например, если a и b – оба словаря, то при выполнении a.update(b). Для тех ключей, которые одновременно существуют в a и b, будут перезаписаны в b. Для тех ключей, которые есть только в b, будут вставлены в a.

3.5 Мы можем использовать ** для распаковки диктанта.

Set – это коллекция для хранения уникальных значений. Дублирующееся значение будет удалено. Мы можем использовать ‘set()’ или

We can also use ‘del’ operation to delete the key in dict. In version > для инициализации. Обратите внимание, что когда мы используем скобки для создания множества, мы должны ввести некоторые значения, иначе Python может перепутать его с dict.

Элемент множества также должен быть неизменяемым, поэтому список не может быть вставлен.<>Мы можем вызвать функцию ‘add’, чтобы вставить элемент в набор.

Set также поддерживает операции с множествами, поэтому мы можем выполнять пересечение, объединение и различие множеств.

Как и в случае с dict, мы можем использовать функцию ‘in’ для проверки существования значения, а также функцию ‘copy()’ для копирования набора.

Условия и итерация

Условия

Python не поддерживает операцию ‘switch’, поэтому даже если у нас есть сложное условие, мы можем только сложить несколько if-else вместе.

Мы можем использовать ключевое слово ‘in’ для итерации элементов списка. Это основное использование цикла.

Если мы хотим итерировать диапазон, мы можем использовать ключевое слово ‘range’ для построения списка. Если мы передаем только один аргумент, то возвращается последовательность от 0. Например, range(5) означает все целые числа в [0, 5).

Если мы передаем два аргумента, это означает начало и конец последовательности.

Если мы передаем три аргумента, то третий означает шаг последовательности.

Мы можем одновременно перебирать индекс и значение, используя ключевое слово ‘enumerate’.

Цикл While похож на цикл C++, он завершает цикл, когда условие равно False. В Python нам не нужно добавлять скобки в условия.

Перехват исключений

В Python мы можем использовать try-except для перехвата исключения. Мы можем указать тип исключения после except. Вы также можете указать несколько типов, если это необходимо, и использовать операцию ‘else’ для получения всех остальных типов. Код после ‘finally’ будет выполняться во всех условиях.

с операцией

В Python мы всегда используем внешний ресурс, мо

Все объекты, которые можно итерировать с помощью ключевого слова ‘in’, являются итерируемыми объектами. Он отличается от итератора, если вы хотите узнать больше об итераторе, вы можете погуглить. В статье не рассматривается содержание итератора.

Когда мы вызываем функцию ‘keys’ в dict, она возвращает итерируемый объект.

Мы не можем использовать index для запроса элемента в объекте iterable, но мы можем использовать iter для преобразования его в итератор и использовать ключевое слово ‘next’ для получения следующего элемента. Также мы можем перевести его в список.

Функция

Используйте ключевое слово ‘def’ для определения функции, мы можем передавать аргументы в произвольном порядке, если очистим имена аргументов.

Мы также можем добавить обозначение ‘*’ перед аргументом, оно представляет собой массив неограниченной длины, и аргументы будут рассматриваться как список.

Мы также можем использовать нотацию ‘**’ для получения словаря.

Кроме того, мы можем использовать эти две нотации вместе, это позволит функции получить любую ситуацию с аргументами.

При передаче аргументов мы также можем использовать ‘ ‘ и ‘*’ для распаковки списков или словарей.

В Python мы можем одновременно возвращать несколько результатов.

Каждая функция имеет свою область видимости, она отделена от внешнего окружения. Поэтому мы определили переменные с одинаковыми именами в функции и вне ее. Если мы хотим использовать переменную вне функции, нам нужно дополнительно использовать ключевое слово ‘global’.

Python поддерживает функциональное программирование, функции также могут быть возвращены или переданы в функции.

Ключевое слово ‘Lambda’ определяет безымянную функцию, мы используем common как отдельную метку. Часть перед common – это аргументы функции, часть после common означает результат, который будет возвращен.

Ключевые слова ‘map’, ‘filter’ получают функцию в качестве аргумента для пакетной обработки данных.

‘map’, ‘filter’, ‘reduce’ – это расширенные возможности использования Python, если вы заинтересованы в них, погуглите для получения более подробной информации.

Мы можем использовать for-loop для инициализации dict.

Модуль

Используйте команду ‘import’ для импорта модуля Python, мы можем использовать ‘.’ для доступа к классу или функции в модуле.

Мы также можем использовать ‘from import’ для импорта класса или функции из модуля. Вы можете импортировать все функции или классы из модуля, используя ‘from xxx import *’, но это не рекомендуется, так как вызовет задержку и потребует больше памяти.

Можно дать псевдонимное имя модулю, используя ключевое слово ‘as’.

Мы можем узнать путь к модулю с помощью ключевого слова ‘dir’.

Это ключевое слово помогает проверить путь модуля, если у нас есть math.py под текущим директором, он перезапишет системный math. Это очень легко привести к ошибкам, поэтому следует обратить на это внимание.

Класс

Рассмотрим полный класс, сопутствующая информация указана в комментариях.

Рассмотрим, как инициализировать и использовать класс.

наследование

Наследование позволяет дочернему классу унаследовать публичные функции и атрибуты, кроме того, мы можем реализовать или перезаписать новые функции или атрибуты для дочернего класса.

Обычно мы храним разные классы в разных папках и используем операцию ‘import’ для импорта.

Мультинаследование

Сначала мы создаем класс Bat.

Затем мы создадим класс Batman, который наследуется от Bat и Superhero. Он будет иметь все атрибуты Bat и Superhero.

Расширенный

Генератор

Мы можем построить генератор, используя ключевое слово ‘yield’. Каждый раз, когда мы вызываем генератор, он будет останавливаться в точке ‘yield’ и восстанавливаться из той же позиции при повторном вызове.

Кроме использования ‘yield’, мы также можем использовать круглые скобки для создания генератора.

Декоратор

После импорта wraps из functools мы можем создать декоратор. Декораторы могут расширять функцию без изменения кода. Так же как и декоратор для ‘function’.

Заключение

Я не знаю, сколько из вас прочитают это, но это действительно здорово – сжать большую часть использования Python в одну статью. Вы будете считаться хорошим пользователем Python, если сможете понять все это.

Я думаю, это не очень сложно для вас, если у вас есть опыт работы с другими языками. И я думаю, что вы можете заплатить больше, чем за 30 минут, конечно, выучить язык программирования за 30 минут возможно и не рекомендуется. Но, по крайней мере, вы можете быть знакомы с Python немного больше.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *