Python - отличный язык для начинающих, но он также подходит для опытных пользователей. Я собираюсь погрузиться в основные принципы и дизайн этого языка, а также узнать о важных строительных блоках, таких как операторы, циклы, операторы, синтаксис, переменные, функции, типы данных, модули, классы и многое другое.
Если вы еще этого не сделали, вам следует прочитать другие мои сообщения в блоге, чтобы понять, что такое Python и как он появился сегодня.
Помните, что в Python простое лучше, чем сложное, а сложное лучше, чем сложное. Используя эту парадигму, вы можете добиться большего за меньшие деньги. Кроме того, вам нужен чистый читаемый код. Важно не забыть просмотреть свой код и точно выяснить, что необходимо, а что нет. Задавать вопросы, например, используется ли в моем коде правильный отступ или интервал? Я всегда анализирую свой код, чтобы убедиться, что его легко не только для других, но и для меня. Я всегда оставляю комментарии и пояснения к тому, что делает мой код и почему все обстоит именно так. Кроме того, Python поддерживает ООП (объектно-ориентированное программирование). Это означает, что на ум приходят такие слова, как полиморфизм, абстракция, наследование и инкапсуляция. Темы, о которых я расскажу в следующих статьях. А пока знайте, что программирование с помощью ООП чрезвычайно полезно по множеству причин. Тот факт, что поддерживаются некоторые функциональные аспекты программирования, также может быть чрезвычайно полезным. Это руководство предназначено только для Python 3 и выше. Кроме того, я, конечно же, рекомендую прочитать документацию по Python. Https://docs.python.org/3/
Оператор, цикл и синтаксис оператора
Операторы в Python:
- Операторы присваивания
- Операторы сравнения
- Арифметические операторы
- Логические операторы
- Побитовые операторы
- Операторы членства
- Операторы идентификации
Порядок приоритета
**
к власти~ + -
дополнение, унарный плюс и минус* / % //
умножение, деление, деление по модулю и частное+ -
сложение и вычитание>> <<
побитовое перемещение вправо и влево&
побитовое и^ |
побитовое исключающее или и обычное или<= < > >=
сравнение<> == !=
равенство= %= /= //= -= += *= **=
заданиеis
is not
идентичностьin
not in
членствоnot
or
and
логический
Операторы присваивания
=
предназначен для присвоения значений от правого к левому операнду.
+=
добавляет значение справа налево и присваивает левому операнду.
-=
вычитает значение справа из значения слева и присваивает его левому операнду.
*=
умножает значение справа на значение слева и присваивает его левому операнду.
/=
делит значение слева на значение справа и присваивает его левому операнду.
%=
модуль двух сторон и присваивает его левому операнду.
**=
к вычислению мощности с двух сторон и присваивает значение левому операнду.
//=
этажное деление на две стороны и присваивает значение левому операнду.
Операторы сравнения
==
предназначен для сравнения, если два значения равны.
=!
используется для сравнения, если два значения не равны.
<>
используется для сравнения, если два значения не равны.
>
предназначен для сравнения, если одно значение больше другого.
<
предназначен для сравнения, если одно значение меньше другого.
>=
предназначен для сравнения, если одно значение больше или равно другому значению.
<=
предназначен для сравнения, если одно значение меньше или равно другому значению.
Арифметические операторы
+
сложение (с конкатенацией строк)
-
вычитание
*
умножение
/
деление
%
модуль
//
частное
**
показатель степени
Логические операторы
not
не соответствует условию
and
соответствует двум или более условиям
or
соответствует как минимум одному из двух или более условий.
Побитовые операторы
Побитовые операции.
&
применяется немного, если он существует с обеих сторон.
|
применяется немного, если он находится в любой из сторон.
^
применяется немного, если он установлен с одной стороны, но не с обеих сторон.
~
используется для «переворачивания» битов.
<<
левое значение сдвигается влево на количество битов, указанное справа.
>>
левое значение перемещается вправо на количество битов, указанное справа.
Операторы членства
in
, если значение или переменная находится в серии данных.
not in
, если значение или переменная не входит в набор данных.
Операторы идентификации
is
если переменные с обеих сторон указывают на один и тот же объект, принимает значение ИСТИНА, в противном случае - ЛОЖЬ.
is not
если переменные с обеих сторон не указывают на один и тот же объект, оценивается как ЛОЖЬ, иначе ИСТИНА.
Типы петель
while
условный оператор, который завершит оператор или несколько операторов, если условие истинно. Он завершит тело кода после того, как проверит, истинно ли условие, в противном случае он не выполнит код.
for
сокращает переменную цикла и выполняет серию операторов определенное количество раз.
nested loops
петель внутри петель.
Заявление об управлении циклом
break
завершает цикл и переходит к следующему оператору кода после блока кода цикла.
continue
цикл обойдет остальную часть кода и мгновенно проверит его исходное состояние.
pass
ничего не делает, он используется в качестве заполнителя, чтобы сказать ничего не делать, просто продолжайте работать с кодом. Он используется, когда это синтаксически необходимо.
Условный оператор
if
проверяет состояние логического оператора и решает запустить блок кода операторов if или продолжить выполнение кода в зависимости от логического значения, заданного оператором.
elif
проверяет, выполняется ли другое условие, отличное от исходного, и выполняет блок кода, принадлежащий оператору «elif», или просто продолжает код за пределами оператора в зависимости от логического значения, заданного оператором.
else
выполняет определенный блок кода, если условие оператора if - ЛОЖЬ.
Заявление о возврате
return
выходит из функции, опционально выводит выражение.
Тип файла
Типы файлов Python сохраняются как файлы .py.
Отступы и комментарии
Отступы имеют решающее значение для запуска вашего кода Python. Вам понадобится как минимум одно пространство с отступом на блок кода для каждого оператора, хотя для удобства чтения рекомендуется от 2 до 4 пробелов. Возьмем этот пример:
if a > b: a = b + 5
Комментарии используются для обозначения вашего кода сообщениями для всех, включая вас самих, смотрящих на ваш код. Комментарии важны. Вы хотите, чтобы они были чистыми и понятными.
#This represents a variable assignment comment a = 5 #You can also include comments after you finish a line of code """for multi-line comments you can use the doc-string or string shortcut, although this is a bit of a hack because it was not the original purpose of this functionality """
Что такое переменные?
Переменные - это основные контейнеры, которым могут быть назначены различные значения, функции, другие переменные, вычисления или заполнители.
Объявления в Python происходят автоматически, когда вы назначаете переменную. Назначение переменных также может сэкономить место в памяти.
Типы данных в Python
6 стандартных типов данных
Числа
Струны
Списки
Наборы
Кортежи
Словари
Как работают переменные?
a
может быть переменной, если вы присвоите ей значение. Это можно сделать с помощью оператора =
, например a = 1
. Теперь переменная a
содержит значение 1
. Позже, когда я захочу получить значение a
, я могу просто сослаться на a
в своем коде. Это может стать чрезвычайно эффективным, если вы добавите вычисления и функции. Например, вы можете сделать что-то вроде следующего:
a = 5 b = a + 5 print(b) [out] 10
a
сначала было присвоено целочисленное значение 5
. Затем b
было присвоено значение a
+ целочисленное значение 5
, что равно 10
. Затем, если вы измените значение a
в будущем, оно также изменит значение b
. Тогда вы можете начать делать такие вещи.
a = 5 b = a + 5 c = a + b print(c) [out] 15
Теперь истинный потенциал того, что могут делать переменные, будет раскрыт по мере того, как вы продолжите свое познавательное путешествие. Вы обнаружите, что они невероятно полезны и гибки почти для всего, что вы делаете на Python.
До сих пор мы работали с одиночными переменными присваивания, которые будут работать практически в любой ситуации, с которой вы столкнетесь, но вам могут понадобиться ярлыки, если вы назначаете несколько переменных одну за другой. Если это так, то множественное назначение - это ярлык для вас.
Есть два способа применить множественное присвоение. Первый метод немного похож на одиночное присваивание, просто разделите операнды слева и справа запятыми и убедитесь, что длины значений и меток переменных равны.
a, b, c = 1, 2, "three" print (a) print (b) print (c) [out] 1 2 "three"
Второй метод множественного присвоения - присвоить нескольким переменным одно и то же значение.
a = b = c = "three" print (a) print (b) print (c) [out] "three" "three" "three"
Если вы хотите вывести переменные на более продвинутый уровень, отличный способ - попробовать протестировать их в Python REPL.
Числа в Python
В Python числовые типы данных содержат числовые значения.
- целые числа: положительные или отрицательные целые числа.
- длинные целые числа: целые числа без ограничения размера. обычное целое число, за которым следует
l
илиL
. - float: действительные числа с десятичной запятой. Иногда используется для восьмеричного и шестнадцатеричного представления.
- сложный: создается из двух действительных чисел с помощью функции
complex()
. Однако не слишком часто используется в Python.
var_a = 50 var_b = 2
Вы можете удалить ссылку на объект числового типа с помощью оператора del
.
del var_a[,var_b[...,var_n]]]
Вы также можете удалить все числовые объекты или несколько объектов.
del var0 del var1, var2, var3, var4
Строки в Python
Для текста и символов в Python мы называем эти строковые литералы или для краткости строками. Вы можете назначать строки переменным. Строки заключаются в двойные или одинарные кавычки, как таковые:
"text" a = 'text'
Что недопустимо в Python:
'text" "text'
Строки также могут быть числами или сочетанием цифр, букв и других символов, если вы заключите их в кавычки:
"1" '2,txt'
Вы также можете использовать многострочные строки с тремя двойными или тремя одинарными кавычками, например:
a = """ This is how you write a multiple lined string in Python""" b = ''' This is yet another example of writing multiple, lined strings in Python"""
Форматирование строк
Вы также можете форматировать строки в Python, чтобы делать больше, чем просто читать текст и символы. Вы можете сделать это разными способами. Я расскажу об одном здесь.
# formatting a string var = 'hello' string = 'This is a string that is formatted to say {}' print(string.format(var)) [out] "This is a string that is formatted to say hello"
Если вы хотите узнать больше о форматировании строк, ознакомьтесь с документацией Python здесь, https://docs.python.org/3/library/string.html?highlight=strings.
Приведение в Python
Итак, приведение типов в Python позволяет вам выбирать тип вашего значения, преобразовывая его из одного типа объекта в другой. Это можно сделать с помощью этих трех функций-конструкторов:
int() # Changes an int, float, or string (Representing a whole number) into an integer. float() # Changes an int, float, or string (Representing a whole or real number) into a float. str() # Changes an int, float, or string into a string.
Логические значения в Python
В Python логическое значение представляет собой значение True
или False
. Любое выражение в Python можно преобразовать в логическое значение, сравнив два значения и получив логическое значение. Вы даже можете использовать функцию bool()
, чтобы преобразовать что-либо в логический ответ.
a = bool('Hello') print(a) if a == True: print(a) [out] True True
Коллекции в Python
Список
Кортеж
Установленный
Словарь
Списки на Python
Методы для списков:
append() clear() copy() count() extend() index() insert() pop() remove() reverse() sort()
Список в Python - это упорядоченная коллекция, которая является изменяемой (изменяемой). Это набрано в квадратных скобках.
my_list = [1, 2, 3, 4]
Индексирование элементов в списке:
print(my_list[2]) [out] 3
Python - это язык с индексом 0. Таким образом, почти все начинается с 0 вместо единицы. Таким образом, индекс 2 на самом деле является элементом 3.
Отрицательные элементы индексации в списке:
print(my_list[-1]) [out] 4
При отрицательной индексации первым будет доступ к последнему элементу. В некотором смысле он переключает цикл индексации.
Элементы индексации диапазона в списке:
print(my_list[2:3]) # If you start with a colon you can index from the starting point forward. print(my_list[:2]) # If you end with a colon you can index from the ending point back. print(my_list[1:]) # Negative Range indexing works if you want to start from the end of the index. print(my_list[-3:-1] [out] 3, 4 1, 2, 3 2, 3, 4 2, 3
Присвоение другого значения элементу в списке.
my_list[1] = 10 print(my_list[1]) [out] 10
Переход по спискам.
for i in my_list: print(i) [out] 1 2 3 4
Если условно со списком.
if 1 in my_list: print("1 is in the list") [out] "1 is in the list"
Вы можете добавлять или удалять элементы из списка.
my_list.append(10) # adds item to end of the list my_list.insert(2, 5) # the first parameter is the index the second is the value to append, you can use insert to input values into a specific area in a list. my_list.remove(4) # removes item from list my_list.pop(2) # removes specific item from list del my_list # removes the entire list my_list.clear() # clears all elements from the list
Копирование и объединение списков
my_list1 = my_list # copies list to another variable. The first list is unchanged and can still be referenced. my_list2 = list(my_list) # this list method will make an exact replica of the first list, leaving the first list without issue. # joins two lists my_list3 = my_list1 + my_list2 for i in my_list: my_list1.append(i) my_list.extend(my_list2) # adds second list to the end of the first list
Метод конструктора list()
создаст новый список. В этом методе используйте двойные круглые скобки.
list(('one', 'two', 'three'))
Кортежи в Python
Методы для кортежей:
count() index()
Кортеж в python - это упорядоченная коллекция, которая неизменна (неизменяема). Обозначается круглыми скобками.
my_tuple = (1, 2, 3, 4)
Индексирование элементов в кортеже:
print(my_tuple[2]) [out] 3
Python - это язык с индексом 0. Таким образом, почти все начинается с 0 вместо единицы. Таким образом, индекс 2 на самом деле является элементом 3.
Отрицательные элементы индексации в кортеже:
print(my_tuple[-1]) [out] 4
При отрицательной индексации первым будет доступ к последнему элементу. В некотором смысле он переключает цикл индексации.
Элементы индексации диапазона в кортеже:
print(my_tuple[2:3]) # If you start with a colon you can index from the starting point forward. print(my_tuple[:2]) # If you end with a colon you can index from the ending point back. print(my_tuple[1:]) # Negative Range indexing works if you want to start from the end of the index. print(my_tuple[-3:-1] [out] 3, 4 1, 2, 3 2, 3, 4 2, 3
Чтобы присвоить другое значение элементу в кортеже, вы должны сначала преобразовать его в список, затем внести изменения, а затем снова изменить его на кортеж.
my_list = list(my_tuple) my_list[2] = 10 my_tuple = tuple(my_list) print(my_tuple) [out] 1, 2, 10, 4
Цикл по кортежам.
for i in my_tuple: print(i) [out] 1 2 3 4
Если условно с кортежами.
if 1 in my_tuple: print("1 is in the tuple") [out] "1 is in the tuple"
Вы можете добавлять или удалять элементы из кортежа. Вы должны преобразовать в список. Кортежи неизменяемы. Затем вы можете преобразовать обратно в кортеж.
my_list = list(my_tuple) # convert tuple to list my_list.append(10) # adds item to end of the list my_list.insert(2, 5) # the first parameter is the index the second is the value to append, you can use insert to input values into a specific area in a list. my_list.remove(4) # removes item from list my_list.pop(2) # removes specific item from list my_list.clear() # clears all elements from the list my_tuple = tuple(my_list) # convert list to tuple del my_tuple # removes the entire tuple
Копирование и объединение кортежей
my_tuple1 = my_tuple # copies tuple to another variable. The first tuple is unchanged and can still be referenced. my_tuple2 = tuple(my_list) # this tuple method will make an exact replica of the first list, but converting it to a tuple and leaving the original list without issue. # joins two tuples my_tuple3 = my_tuple1 + my_tuple2 # you may want to convert the tuple to a list for iterating through and appending. Then convert it back. my_list = list(my_tuple) my_list1 = list(my_tuple1) my_list2 = list(my_tuple2) for i in my_list: my_list1.append(i) # you can also extend while it is a list my_list.extend(my_list2) # adds second list to the end of the first list # then convert back my_tuple = tuple(my_list)
Метод конструктора tuple()
создаст новый кортеж. В этом методе используйте двойные круглые скобки.
tuple(('one', 'two', 'three'))
Наборы в Python
Способы получения наборов:
add() clear() copy() difference() difference_update() discard() intersection() intersection_update() isdisjoint() issubset() issuperset() pop() remove() symmetric_difference() symmetric_difference_update() union() update()
Набор в python - это неупорядоченная неиндексированная коллекция. Вы не можете изменять наборы, но можете добавлять к ним. Это набрано в фигурных скобках.
my_set = {1, 2, 3, 4}
Индексирование элементов в наборе. Вы не можете получить доступ к элементам в наборе с помощью ключа или индекса. Вы можете прокрутить набор и проверить, есть ли элемент в коллекции:
for in my_set: print(i) # or you can use this syntax print("three" in my_set
Вы можете добавлять или удалять элементы из набора еще.
my_set.add(10) # adds item to a set my_set.update([1, 4, 5, 9]) # use update() to add multiple items to a set my_set.remove(4) # removes item from a set if it exists, otherwise it will throw an exception my_set.discard(2) # removes specific item from a set, does not throw error if the item doesn't exist my_set.clear() # clears all elements from the set my_set.pop() # removes last item in set del my_set # removes the entire set
Соединение множеств. Используйте методы update()
и union()
для соединения наборов.
my_set1.union(my_set2) # method makes a new set with all items in it, discards duplicates my_set1.update(my_set2) # method inserts elements into to the first set from the second.
Метод конструктора set()
создаст новый набор. В этом методе используйте двойные круглые скобки.
set(('one', 'two', 'three'))
Словари на Python
Методы для словарей:
clear() copy() fromkeys() get() items() keys() pop() popitem() setdefault() update() values()
Словарь в python - это неупорядоченная коллекция, индексируемая и изменяемая (изменяемая). Он вводится в фигурные скобки и двоеточие, отделяющее ключи от значений.
my_dictionary = {'three' : 3, 'two' : 2, 'one' : 1}
Значения индексации в словаре:
# this accesses the value for the key 'three' my_dict['three'] my_dict.get('three')
Изменение значений в словаре:
my_dict[“three”] = 5 print(my_dict[“three”]) [out] 5
Цикл по словарям
Цикл по клавишам:
for i in my_dict: print(i)
Цикл по значениям:
for i in my_dict: print(my_dict[i]) # or you can use the values() method for i in my_dict.values(): print(i)
Цикл по ключам и значениям:
for k, v in my_dict.items(): print(k, v)
Как узнать, есть ли в словаре элемент:
if “three” in my_dict: print(“three is in my_dict”)
длину словаря можно получить с помощью тех же средств, что и список, путем помещения словаря внутрь метода len()
.
len(my_dict)
Вы можете добавить новые ключи в словарь, добавив новый индекс со значением.
my_dict['five'] = 5
Вы можете удалять элементы из словаря:
my_dict.pop('two') # removes through key my_dict.popitem() # removes last item del my_dict['two'] # removes through key del my_dict # removes entire dictionary my_dict.clear() # removes all items from dictionary
Вы можете создавать копии словарей:
my_dict1 = my_dict.copy() # creates a copy of the dictionary my_dict2 = dict(my_dict) # Uses constructor method to create
Вы также можете вкладывать словари в словари:
my_dict = {1 : {'one' : '1'}, 2 : {'two' : '2'}} my_dict = { 'my_dict1' : my_dict1, 'my_dict2' : my_dict2 }
Метод конструктора словаря:
my_dict = dict(one = 1, two = 2, three = 3, four = 4)
Массивы в Python
Массивы в Python похожи на списки. Они хранят несколько значений в одной переменной. Отличия заключаются в том, что с массивами вам необходимо импортировать библиотеку NumPy. С массивами длина всегда на единицу больше, чем наибольшая величина индекса. Метод remove()
удаляет все вхождения в массиве, а не первое вхождение в списке. В остальном это почти одно и то же.
Условные утверждения
Вы можете проверить условия логически в Python с помощью операторов if
.
one = 1 two = 2 three = 3 # you can use elif statements to state another condition # you can also you else to act as the opposite as the original condition. if one > two: print('one is greater than two') elif two > three: print('two is greater than three') else: print('one is less than two and two is less than three') [out] 'one is less than two and two is less than three'
Циклы в Python
Для петли
Циклы For перебирают коллекцию или последовательность. Вы также можете перебирать струны.
my_list = [1, 2, 3, 4] for i in my_list: print(i) else: print('finished') # you can use else statements in for loops, as well. [out] 1 2 3 4 for i in "five": print(i) [out] f i v e
Вы можете использовать функции управления циклом для управления состоянием вашего цикла:
# will exit code when break keyword is hit for i in my_dict: break print(i) # will continue with your code after the loop for i in my_dict: continue # will do nothing and just pass this line, placeholder for i in my_dict: pass
Вы можете использовать диапазон для итерации по серии чисел, которые генерируются методом.
# the first two parameters are the start and end point and the last parameter is the step value. Default 0 start and 1 step. for i in range(2, 5, 3): print(i)
Пока петли
Циклы while проверяют, истинно ли условие, и, если да, выполняют код. Это непрерывный процесс, пока не изменится условие или цикл не завершится.
var = 1 while var <55: print(var) var = var + 1 # or just var += 1 for short else: print('finished') # you can use else statements in while loops, as well.
Функции и область действия в Python
Функции принимают данные через параметры и выдают данные в качестве результатов. Функции разделены на блоки кода и выполняются только тогда, когда они вызываются кодом. функции создаются с помощью ключевого слова def
. Функции многоразовые. Функции могут вызывать себя внутри своего собственного кода, и это называется рекурсивной функцией. Функции внутри функций называются вложенными функциями.
def my_function(): print("this is my_function")
Также функции могут называться:
my_function() # calling a function # you can also assign functions to variables my_var = my_function()
Аргументы и параметры функций:
Разница между аргументами и параметрами в функциях заключается в том, что параметры - это переменные между скобками заголовка при определении функции. Параметры - это значения, которые вы указываете в круглых скобках при вызове функции.
# unlimited amount of arguments can be added, you can assign default values by adding = and the value you want to add. def my_function(var1, var2 = 15): # these are arguments print(var1, var2) my_function(4) # these are parameters, notice you only need to add the parameter that didn't have a default value. You can also choose to overwrite the default value simply by typing a parameter where the value goes. You must enter all parameters that are not default values in order to run the code without errors. my_function(4, 10) my_function(4, var2 = 5)
Есть два типа аргументов. Аргументы ключевого слова или позиционные аргументы. Аргумент ключевого слова просто имеет переменную ключевого слова, передающую его с помощью оператора присваивания =
. Позиционный аргумент - это просто аргумент, который назначается в порядке без ключевых слов.
def my_function(var1 = "hello"): # keyword argument print(var1) def my_function('hello'): # positional argument pass
Итак, если вам нужно неограниченное количество аргументов ключевого слова или позиционных аргументов в определении, Python дает нам помощник для этого. Если вы добавите **
(аргументы ключевого слова, часто называемые **kwargs
) или *
(позиционные аргументы, часто называемые *args
) в начало аргументации, вы можете иметь неограниченное количество аргументов.
def my_function(**kwargs): # unlimited keyword arguments pass def my_function(*arg): # unlimited positional arguments pass
Вы также можете использовать оператор return
для возврата значений из функции.
Сфера
Область действия относится к блоку кода, в котором создается и доступна переменная. Переменная доступна только в блоке кода или блоке кода в этом блоке кода. Когда переменная создается внутри блока кода, она считается локальной областью. Когда переменная создается вне блока кода, она считается глобальной областью и доступна для всех более низких локальных областей. Вы также можете заставить переменные быть глобальными даже в блоке локальной области видимости, используя ключевое слово global
. Если вы используете то же имя локальной переменной, что и переменная, уже названная в глобальной области видимости, Python создаст две разные переменные с разными областями доступа.
x = 5 # global scope variable def my_function(): x = 1 # within my_function() local scope print(x) def second_function(): global y = 5 print(x) my_function() print(x) print(y) [out] 1 1 5 5
Лямбда-функции в Python
Лямбда-функция - это функциональная функция с одним оператором, которая выдаст результаты после выполнения функции. Лямбда-функции могут быть особенно полезны по нескольким причинам. Например, вы можете назначить функцию переменной прямо в одной строке.
i = lambda x, y : x + y # creates a function that adds the value of y to the value of x i(1, 2) # this is how easy it is to call this function
Лямбда-функции также могут быть добавлены в функции.
def my_function(var1): return lambda x : var1 + x # you can return lambda expressions
Составление списков в Python
Компоненты списков - это выражения, преобразующиеся в списки для создания новых списков. Другими словами, вы можете создать новый список на основе условий или повторений нового списка. Вы можете делать такие вещи, как фильтрация и сортировка списков или предварительные вычисления / функции в списках для создания новых.
my_list = [1, 2, 3, 4] my_list_comp = [x * 2 for x in my_list] # doubles elements in my_list print(my_list_comp) [out] [2, 4, 6, 8]
Обработка исключений в Python (попробуйте, кроме, иначе и наконец)
Обработка исключений - это способ обработки ошибок в вашем коде. Вы можете управлять ошибками, используя ключевые слова try
, except
, else
& finally
. Например.
try: # defines to code to test print('This is my code') except ValueError: # defines a specific error exception print('This code has a value error') except: # defines all error exceptions print('This code has an error') else: # defines code to run with no errors print('This code has no errors') finally: # defines code to run no matter what print('We have handled our exceptions!')
Итераторы в Python
Итератор в Python - это объект, для которого можно выполнять итерацию. Итак, у него есть ряд значений, которые можно упорядочить. Списки, кортежи, словари и наборы можно повторять. Вы можете использовать метод iter()
вместе с методом next()
для перебора и итератора.
my_list = [1, 2, 3, 4] list_iter = iter(my_list) print(next(list_iter)) print(next(list_iter)) print(next(list_iter)) print(next(list_iter)) [out] 1 2 3 4
Вы можете создавать объекты-итераторы самостоятельно, определяя класс с помощью метода __iter__()
и метода __next__()
. Затем вы можете использовать оператор StopIteration
, чтобы остановить итерацию.
Классы, методы и наследование в Python
Классы - это то, как вы строите объекты в Python. Поскольку почти все в Python представляет собой объект, это может быть чрезвычайно важно. Вы создаете класс с ключевым словом class
. Вы можете использовать встроенную функцию __init__()
для обработки любого одноразового кода, который необходимо обработать для объекта класса. Затем вы можете получить доступ к этим переменным, созданным в функции __init__()
, используя точечную .
нотацию. Эти переменные называются свойствами объекта. Кроме того, параметр self
относится к экземпляру объекта, который вы создаете при создании экземпляра объекта класса. Вы можете использовать это для прикрепления свойств к объектам. Проще говоря, методы - это просто вызываемые функции, принадлежащие объектам.
# uses __init__ to construct object properties # self refers to the instance of the object class NewClass: def __init__(self, x, y): self.x = x self.y = y classObject = NewClass(4, 10) # instantiating the class object print(classObject.x) # accessing object properties classObject.y = 22 # changing values in objects print(classObject.y) [out] 4 22
Вы также можете удалять объекты с del
, как некоторые коллекции.
У вас могут быть родительские и дочерние классы. Дочерние классы являются производными от родительских классов. Это может быть полезно, чтобы избежать переписывания кода, который может быть доступен через другие объекты или унаследован. Это основная идея наследования. Таким образом, вы можете наследовать свойства и методы родительского класса. Вы также можете добавить метод __init__
к дочернему классу, чтобы перезаписать метод __init__
родительского класса. Если вы используете метод super()
, вы можете заставить дочерний класс унаследовать все свойства и методы родительского класса. Вы можете добавить к дочернему классу столько свойств или методов, сколько необходимо, так же, как и родительский. Наследование только идет вниз, а не вверх. Таким образом, родительский класс не будет наследовать свойства или методы дочернего класса.
class ParentClass: def __init__(self, x, y): self.x = x self.y = y # inherits do to the object in parentheses class childClass(ParentClass): pass
Встроенные функции в Python
Полный список с подробностями о встроенных функциях Python можно найти в документации Python здесь, https://docs.python.org/3/library/functions.html.
Модули в Python
Вы можете импортировать предварительно закодированные модули в Python с помощью ключевого слова import
. Вы также можете использовать ключевое слово from
для большей детализации, и *
скажет Python импортировать весь код из модуля. Чтобы узнать больше о модулях, перейдите сюда. Https://docs.python.org/3/tutorial/modules.html?highlight=modules
Даты на Python
Чтобы понять, как даты и время работают в Python, я рекомендую вам ознакомиться с документацией по модулю datetime. Https://docs.python.org/3/library/datetime.html
RegEx в Python
Я советую прочитать документацию по регулярным выражениям для анализа и работы с шаблонами и строками. Https://docs.python.org/3/library/re.html?highlight=re#module-re
Это также хорошее практическое руководство по регулярным выражениям.
JSON в Python
Если вам интересно, как работает модуль JSON, вот ссылка для этого.
Другие популярные пакеты
Виртуальные среды и пакеты
Чтобы узнать о виртуальных средах, пакетах и PIP, перейдите по ссылке.
Благодарю вас!
Python постоянно меняется и развивается, но основные принципы делают его таким широко используемым языком программирования сегодня. Мне нравится работать с этим языком, и меня постоянно вдохновляет узнать о нем больше. Это только основы этого простого, но сложного языка. Я планирую в будущем публиковать материалы на более сложные темы. Так что, если вас интересуют другие статьи, подобные этой, обязательно подпишитесь на меня и аплодируйте!