Введение
Python — один из самых распространенных языков программирования. В этой статье мы рассмотрим основы языка Python, в частности, типы переменных и операторы.
Переменные
Для хранения значений в Python существует ряд типов переменных, которые по-разному хранят значения. Эти переменные можно разделить на два типа: простые и сложные типы данных. Простые типы данных хранят одно значение определенного типа, а сложные типы данных хранят несколько значений различных типов.
Основные переменные (простой тип данных)
Числа хранят числовые значения и могут быть целым числом или плавающей величиной.
a = 1 #integer
b = 3.14 #float
Строки позволяют хранить слова, фразы и символы в виде серии символов.
name = "John" #strings are stored between two quotation marks
surname = 'Doe' #they can be marked by double or single quotes
Булевы числа — это двоичное значение, которое может быть либо истинным, либо ложным.
bool1 = True #booleans are noted by capitalizing the first character
bool2 = False
Сложные переменные (сложные типы данных)
В Python есть четыре типа сложных переменных: списки, кортежи, множества и словари. Каждый из этих типов переменных хранит значения в коллекции, но способ хранения значений различен.
Списки — это коллекция значений, которая хранит значения в порядке 0-индексации. Списки также являются изменяемыми, что позволяет добавлять, удалять или изменять значения.
# Lists are similar to javascript arrays as ordered storage of variables
list_example = ["val1", "val2", "val3"] #lists are noted by square brackets
# Lists can be accessed by index values
print(list_example[0])
# print will print "val1"
Кортежи похожи на списки тем, что представляют собой упорядоченную коллекцию значений, но имеют одно ключевое отличие: после создания они не могут быть изменены никаким образом.
tup = ("val1", "val2", "val3") #similar to lists, tuples are noted with parentheses
print(tup[1]) #will print out "val2"
Наборы отличаются от списков и кортежей тем, что в отличие от них наборы хранят значения в неупорядоченной коллекции, то есть при каждом обращении к набору порядок значений меняется. Наборы также отличаются от списков и кортежей тем, что не допускают дублирования значений внутри себя. Аналогично кортежам, значения в наборе не могут быть изменены, но допускается добавление и удаление значений.
setex = {"val1", "val2", "val3"} #sets are noted by curled braces
print(setex) #will print out "val1", "val2", and "val3" in a random order
Словари, в отличие от всех других переменных, хранят значения в виде пар ключ-значение в упорядоченном списке. Подобно множествам, словари не могут иметь дубликатов, но дубликаты относятся только к именам ключей. Как и списки, словари можно изменять путем добавления, удаления или изменения значений.
dictex = {
"key": "val",
"key2": 2
}
# Dictionary values are accessed through its keys
print(dixtex["key"]) #prints "val" to console
Операторы
Операторы — это символы, обозначающие операции, которые необходимо выполнить над значением/переменной. В Python есть несколько различных типов операторов, включая: математические, присваивания, сравнения, логические, тождества и принадлежности.
Математические операторы
Арифметические операторы — это операторы, которые выполняют математические операции над значениями. В Python есть базовые сложение и вычитание, как показано ниже, а также некоторые более сложные.
#Addition and Subtraction
a = 10 + 2 #a will equal 12
b = 10 - 2 #b will equal 8
Хотя умножение и деление не очень сложны, в Python есть заметное взаимодействие с делением. Когда используется оператор деления, в Python результат будет равен float, несмотря ни на что. Если требуется целое число, необходимо использовать другой оператор.
Кроме того, в Python есть оператор modulo и оператор мощности.
#Multiplication and Division
c = 2 * 3 #c will equal 6
#The normal division operator will result in a float value
d = 1 / 2 #d will equal 0.5
#To get an integer or rounded value, use two division operators
e = 1 // 2 #e will equal 0
#Modulo will return the remainder of a division operation
f = 10 % 3 #f will equal 1
#The power operator multiples a number to the given power
g = 2 ** 3 #g will equal 8 or 2 to the third power
Операторы присваивания
Операторы присваивания позволяют переменным знать, что нужно принять значение, и в некоторых случаях добавляют случаи, когда нужно принять значение. Основным оператором присваивания является знак =, который включают в себя все остальные операторы присваивания.
a = 1 #the = sign assigns the value to the variable
a += 2 #equivalent of a = a + 2, which results in 3
b = 3
b -= 2 #equivalent of b = b - 2, which results in 1
c = 2
c *= 3 #equivalent of c = c * 2, which results in 6
d = 3
d /= 4 #equivalent of d = d / 4, which results in 0.75
e = 3
e //= 4 #equivalent of e = e // 4, which results in 0
f = 2
f **= 3 #equivalent of f = f ** 3, which results in 8
Операторы сравнения (булевы проверки)
Операторы сравнения, как следует из названия, выполняют сравнение между двумя значениями или переменными и возвращают булево значение.
a= 2
b = 4
#equals operator checks if two values are equal
comp1 = a == b #results in false
#not equal operator checks if two values are not equal
comp2 = a != b #results in true
#greater than operator checks if first value is greater than the second
c = 3
d = 3
comp3 = c > d #results in false
comp4 = c >= d #results in true, checks if greater or equal to value
#less than operator checks if first value is less than the second
comp5 = a < b #results in true
comp6 = c <= a #results in false, checks if less or equal to value
Логические операторы
Логические операторы также возвращают булеву величину, но они принимают булевы или операции, результатом которых являются булевы, что позволяет проверить несколько сравнений.
#The and operator checks if both conditions are true
cond1 = 1 < 2 and 1 < 5 #results in true
cond2 = 2 < 2 and 2 < 5 #results in false as one condition is false
#The or operator checks if at least one condition is true
cond3 = 1 < 2 or 1 < 5 #results in true since both conditions are true
cond4 = 2 < 2 or 2 < 5 #results in true since one condition is true
cond 5 = 5 < 2 or 5 < 5 #results in false as both conditions are false
#The not operator inverts the result, making true false and vice versa
cond6 = not(1 < 2) #results in false, as 1 < 2 is true and not inverts it
Операторы тождества
Операторы тождества используются при сравнении сложных переменных, в частности, если две переменные имеют одну и ту же ссылку.
var1 = [1, 2, 3]
var2 = [1, 2, 3]
var3 = var1
#The is operator checks if two variables possess the same reference
comp1 = var1 is var2 #results in false, as both refer to different lists even though they have the same values
comp2 = var1 is var3 #results in true, as both refer to the same list reference
#The is not operator checks if two variables do not possess the same list reference
comp3 = var1 is not var3 #results in false, as both refer to the same list reference
comp4 = var1 is not var2 #results in true, as both refer to different list references
Операторы принадлежности
Операторы принадлежности используются для проверки того, содержится ли значение в коллекции.
setex = {1, 2, 3}
#The in operator checks if a value is contained inside a collection
comp1 = 2 in setex #results in true as 2 is contained in setex
#The not in operator checks if a value is not contained inside a collection
comp 2 = 3 not in setex #results in false as 3 is contained in setex
Закрытие
В заключение хочу сказать, что Python содержит множество различных способов хранения значений и несколько операторов, которые могут присваивать и сравнивать их.
Полезные источники
W3schools