Share This
Связаться со мной
Крути в низ
Categories
//Основы Python — изучаем базовые концепции языка

Основы Python — изучаем базовые концепции языка

29.07.2021Category : Python

Перевод статьи «Python Basics: Understanding the core concepts». 

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

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

Итак, приступим!

Переменные

Переменные — это именованные участки памяти компьютера, в которых хранятся некоторые значения. Переменные могут хранить любой тип данных. Например, у нас есть пара значений — 10 и 20. Мы хотим их сложить и сохранить сумму для дальнейших операций. Давайте посмотрим, что нам нужно для этого сделать:

a = 10   # переменная a b = 20   # переменная  b c = a + b  # сумма а и b

Примечание редакции Pythonist: рекомендуем очень подробную статью об именах и присваивании значений — «Факты и мифы об именах и значениях в Python».

Типы данных

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

Числа

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

a = 5  print(type(a))                   # <class 'int'>  b = 1+4j print(type(b))      # <class 'complex'>  c = 4.5 print(type(c))   # <class 'float'>

Посмотрите на вывод внимательно: класс int переменной a = 5 — предопределенный. Это значит, что его не нужно определять вручную, это уже сделано за нас. Целые числа (int) могут быть любой длины, но есть ограничение — объем вашей памяти. Числа с плавающей точкой (float) имеют ограничение точности — 15 знаков после точки. Если попытаетесь ввести больше — лишние будут отброшены.

a = 1.12345678912345678912 print(a)  # 1.1234567891234568

Строки

Строка (str) — это набор символов Юникод. Для определения строки мы используем одинарные или двойные кавычки. 

Пример:

a = 'c' print(type(a)) # <class 'str'>  b = "hello" print(type(b)) # <class 'str'>  c = 'hello python' print(type(c)) # <class 'str'>

Списки

Списки (list) — упорядоченная последовательность элементов. Это один из самых часто используемых типов данных в Python. Списки очень похожи на массивы, но в списках мы можем хранить элементы разного типа.

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

lst = [1,2,3,4,5.3] print(type(lst)) # <class 'list'>  lst = [1,'hello',3,4,5.3,'pythonist'] print(type(lst)) # <class 'list'>  lst = ['hello','pythonist'] print(type(lst)) # <class 'list'>  lst = [1,'hello',3,4,5.3,'pythonist'] print(lst[0]) # 1  lst = [1,'hello',3,4,5.3,'pythonist'] lst[0]=10 print(lst) # [10, 'hello', 3, 4, 5.3, 'pythonist']

Кортежи

Кортежи (tuple) — это также упорядоченные наборы элементов. От списков их отличает одно: кортежи неизменяемы. То есть, после объявления кортежа изменить его элементы мы не сможем.

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

t = (1,2,3)                               print(type(t)) # <class 'tuple'>  t = (1,'hello',3.2) print(type(t)) # <class 'tuple'>  t = (1,'hello',3.2) print(t[0]) # 1

Множества 

Множество (set) — неупорядоченный набор элементов. Определяется множество с помощью фигурных скобок — {}. Все элементы разделяются запятыми. 

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

Обратите внимание: получить доступ к элементу множества по индексу невозможно — они не упорядочены! 

a =  {1, 2, 3, 4, 5} print(type(a)) # <class 'set'>  a =  {1, 2, 3, 4, 5} print(a[0]) # TypeError: 'set' object is not subscriptable  a = {1, 2, 3, 4, 5} b = {6,5,3,4} print(a.union(b)) # {1, 2, 3, 4, 5, 6}  a = {1, 2, 3, 4, 5} b = {6,5,3,4} print(a.intersection(b)) # {3, 4, 5}

Словари

Словарь (dict) — набор элементов, в котором элементы хранятся в виде пар ключ-значение. Такая система оптимизирована под поиск значений, из-за чего словари часто используют для хранения огромных массивов данных. Определяются словари с помощью фигурных скобок в следующем виде —  {ключ: значение}. Пары элементов отделяются запятыми.

dict = {'name':'ivan', 'number':'99029922', 'address':'Moskva'}  print(dict) # {'name': 'ivan', 'number': '99029922', 'address': 'Moskva'}  print(dict.keys()) # dict_keys(['name', 'number', 'address'])  print(dict.values()) # dict_values(['ivan', '99029922', 'Moskva'])

Операторы

Операторы нужны для проведения операций между двумя элементами. Например, в a + b оператором является +. Он указывает компилятору на то, что нужно сложить две переменные. 

В Python есть 7 типов операторов:

  • Арифметические операторы: *, +, /, **, %, —
  • Операторы присваивания: =, +=, =+, -=, -=, !=
  • Операторы сравнения: <, >, !<, !>, =<, >=, ==
  • Логические операторы: and, or, not
  • Операторы идентичности: is, is not
  • Операторы членства: in, not in
  • Битовые операторы: &, ^, ~, <<, >>

Индексы

Индексы используются для получения доступа к элементам коллекций (например, строк или списков). В Python есть два типа индексов — положительные и отрицательные. Положительные начинаются с 0, а отрицательные — с последнего элемента коллекции. 

Пример:

# Положительные индексы  a = 56 print(a[0]) # TypeError: 'int' object is not subscriptable  b = 'python' print(b[0]) # 'p'  c = 3.14 print(c[0]) # TypeError: 'float' object is not subscriptable  d = [1,2,'hello',4] print(d[2]) # hello  print(d[2][1]) # e  print(d[2][4]) # o  d = [1,2,'hello',4] print(d[-1]) # 4  print(d[2][-4]) # e  print(d[2][-1]) # o  str = "hello python" print(str[-3]) # h

Срезы

Срезы используются для получения доступа к последовательности элементов коллекции. Внимание: верхняя граница всегда отбрасывается. То есть, a[0:3] — это элементы с индексами 0, 1 и 2, а вот элемент с индексом 3 в срез уже не войдет. 

b = 'python'  print(b[0:2]) # py  d = [1,2,'hello',4] print(d[0:2]) # [1,2]  print(d[2][1:4]) # 'ell'  print(d[2][1:-1]) # 'ell'

Функционал среза можно расширить, добавив третий параметр — шаг.

lst = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]  print(lst[0:20:2]) # выводим все нечетные числа в промежутке от 0 до 20  print(lst[1:20:2]) # выводим все четные числа в промежутке от 0 до 20  strr = "hello python"  print(strr[0:8:4]) # ho

Приведение типов

Приведение типов позволяет сконвертировать один тип данных в другой. Это может оказаться полезным во многих ситуациях. 

Пример:

a = 10  print(type(a)) # <class 'int'>  a = str(a) print(type(a)) # <class 'str'>  a = float(a) print(type(a)) # <class 'float'>  a = list(str(a)) print(type(a)) # <class 'list'> print(a) # ['1', '0', '.', '0']  lst = [1, 2, 3, 4, 5, 1, 2] lst = set(lst) print(type(lst)) # <class 'set'> print(lst) # {1, 2, 3, 4, 5}  lst = tuple(lst) print(type(lst)) # <class 'tuple'> print(lst) # (1, 2, 3, 4, 5)

Выводы

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

osnovy python izuchaem bazovye koncepcii jazyka 9abdd49 - Основы Python — изучаем базовые концепции языка

Кодинг-марафон по Python

Реши 10 задач и выиграй 5500 рублей

Подписаться ×

  • 13 views
  • 0 Comment

Leave a Reply

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Связаться со мной
Close