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

Если вы еще этого не сделали, вам следует прочитать другие мои сообщения в блоге, чтобы понять, что такое Python и как он появился сегодня.





Помните, что в Python простое лучше, чем сложное, а сложное лучше, чем сложное. Используя эту парадигму, вы можете добиться большего за меньшие деньги. Кроме того, вам нужен чистый читаемый код. Важно не забыть просмотреть свой код и точно выяснить, что необходимо, а что нет. Задавать вопросы, например, используется ли в моем коде правильный отступ или интервал? Я всегда анализирую свой код, чтобы убедиться, что его легко не только для других, но и для меня. Я всегда оставляю комментарии и пояснения к тому, что делает мой код и почему все обстоит именно так. Кроме того, Python поддерживает ООП (объектно-ориентированное программирование). Это означает, что на ум приходят такие слова, как полиморфизм, абстракция, наследование и инкапсуляция. Темы, о которых я расскажу в следующих статьях. А пока знайте, что программирование с помощью ООП чрезвычайно полезно по множеству причин. Тот факт, что поддерживаются некоторые функциональные аспекты программирования, также может быть чрезвычайно полезным. Это руководство предназначено только для Python 3 и выше. Кроме того, я, конечно же, рекомендую прочитать документацию по Python. Https://docs.python.org/3/

Оператор, цикл и синтаксис оператора

Операторы в Python:

  • Операторы присваивания
  • Операторы сравнения
  • Арифметические операторы
  • Логические операторы
  • Побитовые операторы
  • Операторы членства
  • Операторы идентификации

Порядок приоритета

  1. ** к власти
  2. ~ + - дополнение, унарный плюс и минус
  3. * / % // умножение, деление, деление по модулю и частное
  4. + - сложение и вычитание
  5. >> << побитовое перемещение вправо и влево
  6. & побитовое и
  7. ^ | побитовое исключающее или и обычное или
  8. <= < > >= сравнение
  9. <> == != равенство
  10. = %= /= //= -= += *= **= задание
  11. is is not идентичность
  12. in not in членство
  13. 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 постоянно меняется и развивается, но основные принципы делают его таким широко используемым языком программирования сегодня. Мне нравится работать с этим языком, и меня постоянно вдохновляет узнать о нем больше. Это только основы этого простого, но сложного языка. Я планирую в будущем публиковать материалы на более сложные темы. Так что, если вас интересуют другие статьи, подобные этой, обязательно подпишитесь на меня и аплодируйте!