Основы 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
Войдите в систему, чтобы ответить на эту викторину и отслеживать свой прогресс обучения
4 + 2 * 3
Операторы присваивания с расширением
| Оператор | Эквивалент |
|---|---|
var += 1 | var = var + 1 |
var -= 1 | var = var - 1 |
var *= 1 | var = var * 1 |
var /= 1 | var = var / 1 |
var //= 1 | var = var // 1 |
var %= 1 | var = var % 1 |
var **= 1 | var = 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
Оператор “Морж” (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 | Числа с десятичной точкой |
complex | 2+3j, complex(1, 4) | Числа с действительной и мнимой частями |
| Текст | ||
str | 'a', 'Hello!', "Python" | Текст и символы |
| Булевы | ||
bool | True, False | Значения Истина или Ложь |
| None | ||
NoneType | None | Обозначает “нет значения” или “ничего” |
| Коллекции | ||
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. Вы можете назвать переменную как угодно, если она подчиняется следующим правилам:
- Она может состоять только из одного слова.
# плохо
my variable = 'Hello'
# хорошо
var = 'Hello'
- Она может содержать только буквы, цифры и символ подчеркивания (
_).
# плохо
%$@variable = 'Hello'
# хорошо
my_var = 'Hello'
# хорошо
my_var_2 = 'Hello'
- Она не может начинаться с цифры.
# это не сработает
23_var = 'hello'
- Имя переменной, начинающееся с подчеркивания (
_), считается “неиспользуемым”.
# _spam не следует использовать снова в коде
_spam = 'Hello'
Войдите в систему, чтобы ответить на эту викторину и отслеживать свой прогресс обучения
3valueuser-nameuser_nameforКомментарии
Встроенный комментарий:
# Это комментарий
Многострочный комментарий:
# Это
# многострочный комментарий
Код с комментарием:
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
Войдите в систему, чтобы ответить на эту викторину и отслеживать свой прогресс обучения
Функция 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
Войдите в систему, чтобы ответить на эту викторину и отслеживать свой прогресс обучения
result = int('42')
type(result)
strfloatintNoneType