Основы Python

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

Обзор основ Python

Основные основы Python, которые должен знать каждый новичок:

  • Переменные и базовые типы
  • Операторы и выражения
  • Строки и общие методы
  • Списки, кортежи и словари
  • Базовый поток управления (if, for, while)
  • Простые функции

Математические операторы

От наивысшего к низшему приоритету:

ОператорыОперацияПример
**Возведение в степень2 ** 3 = 8
%Остаток от деления22 % 8 = 6
//Целочисленное деление22 // 8 = 2
/Деление22 / 8 = 2.75
*Умножение3 * 3 = 9
-Вычитание5 - 2 = 3
+Сложение2 + 2 = 4

Примеры выражений:

# Умножение имеет более высокий приоритет, чем сложение
# Поэтому это вычисляется как: 2 + (3 * 6) = 2 + 18 = 20
2 + 3 * 6
20
# Скобки переопределяют приоритет операторов
# Это вычисляется как: 5 * 6 = 30
(2 + 3) * 6
30
2 ** 8
256
23 // 7
3
23 % 7
2
(5 - 1) * ((7 + 1) / (3 - 1))
16.0
Викторина

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

Каков результат этого выражения Python?
4 + 2 * 3
A. 10
B. 18
C. 12
D. 20

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

ОператорЭквивалент
var += 1var = var + 1
var -= 1var = var - 1
var *= 1var = var * 1
var /= 1var = var / 1
var //= 1var = var // 1
var %= 1var = var % 1
var **= 1var = var ** 1

Примеры:

# Присваивание с расширением: эквивалентно greeting = greeting + ' world!'
greeting = 'Hello'
greeting += ' world!'
greeting
'Hello world!'
# Увеличить число на 1
number = 1
number += 1
number
2
# Повторение элементов списка: эквивалентно my_list = my_list * 3
my_list = ['item']
my_list *= 3
my_list
['item', 'item', 'item']
Викторина

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

Каково значение x после выполнения этого кода?
x = 5
x += 3
A. 3
B. 8
C. 5
D. 15

Оператор “Морж” (Walrus Operator)

Оператор “Морж” позволяет присваивать переменные внутри выражения, возвращая при этом значение переменной

Пример:

# Оператор "Морж" присваивает и возвращает значение в одном выражении
# my_var присваивается "Hello World!" и затем выводится на печать
print(my_var:="Hello World!")
Hello World!
my_var="Yes"
print(my_var)
Yes
print(my_var:="Hello")
Hello

Оператор “Морж”, или Оператор выражения присваивания, был впервые представлен в 2018 году через PEP 572, а затем официально выпущен с Python 3.8 в октябре 2019 года.

Синтаксическая семантика и примеры

[PEP 572](https://peps.python.org/pep-0572/) предоставляет синтаксис, семантику и примеры для оператора "Морж".

Типы данных

Понимание типов данных — одна из самых важных основ Python. В Python есть девять основных встроенных типов данных, которые охватывают почти все, что вам понадобится:

Тип данныхПримерыОписание
Числа
int-2, -1, 0, 1, 2, 3, 4, 5Целые числа
float-1.25, -1.0, -0.5, 0.0, 0.5, 1.0, 1.25Числа с десятичной точкой
complex2+3j, complex(1, 4)Числа с действительной и мнимой частями
Текст
str'a', 'Hello!', "Python"Текст и символы
Булевы
boolTrue, FalseЗначения Истина или Ложь
None
NoneTypeNoneОбозначает “нет значения” или “ничего”
Коллекции
list[1, 2, 3], ['a', 'b', 'c']Упорядоченные, изменяемые коллекции
dict{'name': 'Alice', 'age': 30}Пары ключ-значение
tuple(1, 2, 3), ('a', 'b')Упорядоченные, неизменяемые коллекции
set{1, 2, 3}, {'a', 'b', 'c'}Неупорядоченные коллекции уникальных элементов

Краткие примеры

# Числа
age = 25                    # int
price = 19.99              # float
coordinate = 2 + 3j        # complex

# Текст
name = "Alice"             # str

# Булевы
is_student = True          # bool

# None
result = None              # NoneType

# Коллекции
scores = [85, 92, 78]      # list
person = {'name': 'Bob', 'age': 30}  # dict
coordinates = (10, 20)     # tuple
unique_ids = {1, 2, 3}     # set

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

Конкатенация и повторение

Конкатенация строк:

# Конкатенация строк: смежные строки автоматически объединяются
'Alice' 'Bob'
'AliceBob'

Повторение строк:

# Повторение строк: повторить строку несколько раз
'Alice' * 5
'AliceAliceAliceAliceAlice'

Переменные

Переменные — это фундаментальная часть основ Python. Вы можете назвать переменную как угодно, если она подчиняется следующим правилам:

  1. Она может состоять только из одного слова.
# плохо
my variable = 'Hello'

# хорошо
var = 'Hello'
  1. Она может содержать только буквы, цифры и символ подчеркивания (_).
# плохо
%$@variable = 'Hello'

# хорошо
my_var = 'Hello'

# хорошо
my_var_2 = 'Hello'
  1. Она не может начинаться с цифры.
# это не сработает
23_var = 'hello'
  1. Имя переменной, начинающееся с подчеркивания (_), считается “неиспользуемым”.
# _spam не следует использовать снова в коде
_spam = 'Hello'
Викторина

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

В основах Python, какое из следующих имен является допустимым именем переменной?
A. 3value
B. user-name
C. user_name
D. for

Комментарии

Встроенный комментарий:

# Это комментарий

Многострочный комментарий:

# Это
# многострочный комментарий

Код с комментарием:

a = 1  # инициализация

Обратите внимание на два пробела перед комментарием.

Строка документации функции:

def foo():
    """
    Это строка документации функции
    Вы также можете использовать:
    ''' Строка документации функции '''
    """

Функция print()

Функция print() — одна из первых основ Python, которую вы изучите. Она выводит значение переданного ей аргумента(ов). […] она обрабатывает несколько аргументов, числа с плавающей запятой и строки. Строки печатаются без кавычек, и между элементами вставляется пробел, так что вы можете красиво форматировать вывод:

print('Hello world!')
Hello world!
a = 1
print('Hello world!', a)
Hello world! 1

Ключевое слово end

Ключевой аргумент end можно использовать, чтобы избежать перехода на новую строку после вывода, или завершить вывод другой строкой:

# Используйте параметр end, чтобы изменить то, что идет после каждого оператора print
phrase = ['printed', 'with', 'a', 'dash', 'in', 'between']
for word in phrase:
    print(word, end='-')  # Используем '-' вместо новой строки
printed-with-a-dash-in-between-

Ключевое слово sep

Ключевое слово sep определяет, как разделять объекты, если их несколько:

# Используйте параметр sep, чтобы указать разделитель между несколькими аргументами
print('cats', 'dogs', 'mice', sep=',')  # Вывод с разделителем-запятой
cats,dogs,mice

Функция input()

Эта функция принимает ввод от пользователя и преобразует его в строку:

# input() считывает ввод пользователя и возвращает его в виде строки
print('What is your name?')   # запрашиваем имя
my_name = input()  # Ожидаем, пока пользователь введет текст и нажмет Enter
print('Hi, {}'.format(my_name))
What is your name?
Martha
Hi, Martha

input() также может отображать сообщение-подсказку без использования print():

my_name = input('What is your name? ')  # сообщение-подсказка
print('Hi, {}'.format(my_name))
What is your name? Martha
Hi, Martha

Также возможно использовать форматированные строки, чтобы избежать использования .format:

# input() может отображать сообщение-подсказку напрямую
my_name = input('What is your name? ')  # Подсказка и чтение в одном вызове
print(f'Hi, {my_name}')  # f-строка для форматирования строк
What is your name? Martha
Hi, Martha
Викторина

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

В основах Python, какой тип возвращает `input()`?
A. int
B. str
C. float
D. Зависит от ввода пользователя

Функция len()

Оценивается в целое число, равное количеству символов в строке, списке, словаре и т. д.:

# len() возвращает количество символов в строке
len('hello')  # Возвращает 5
5
# len() возвращает количество элементов в списке
len(['cat', 3, 'dog'])  # Возвращает 3 (три элемента)
3

Проверка на пустоту

Проверку на пустоту строк, списков, словарей и т. д. не следует выполнять с помощью len, а лучше предпочесть прямую булеву оценку.

Пример проверки на пустоту:

a = [1, 2, 3]

# плохо: ненужная проверка len()
if len(a) > 0:  # оценивается как True
    print("the list is not empty!")
the list is not empty!
# хорошо: прямая булева оценка (Pythonic способ)
if a:  # оценивается как True, если список не пуст
    print("the list is not empty!")
the list is not empty!

Функции str(), int() и float()

Эти функции позволяют изменять тип переменной. Например, вы можете преобразовать integer или float в string:

# Преобразовать целое число в строку
str(29)  # Возвращает '29'
'29'
str(-3.14)
'-3.14'

Или из string в integer или float:

# Преобразовать строку в целое число
int('11')  # Возвращает 11
11
# Преобразовать строку в число с плавающей точкой
float('3.14')  # Возвращает 3.14
3.14
Викторина

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

Каков результат этого кода Python?
result = int('42')
type(result)
A. str
B. float
C. int
D. NoneType

Связанные ссылки