Python – высокоуровневый язык программирования, акцентирующий внимание на удобочитаемости. Он разрабатывается, поддерживается и часто используется в соответствии с The Zen of Python или PEP 20.
В этой статье показано несколько примеров хороших и плохих методов кодинга в Python, с которыми вы, вероятно, столкнетесь.
Использование распаковки (Unpacking) для написания компактного кода
Упаковка и распаковка — мощные инструменты Python. Вы можете использовать распаковку для присваивания значений переменным:
>>> a, b = 2, 'my-string'
>>> a
2
>>> b
'my-string'
Вы можете использовать это для написания, возможно, самого компактного кода, меняющего значения переменных местами
>>> a, b = b, a
>>> a
'my-string'
>>> b
2
Это потрясающе!
Распаковка также может быть использована для присвоения значения нескольким переменным в более сложных случаях. Например, Вы можете написать так:
>>> x = (1, 2, 4, 8, 16)
>>> a = x[0]
>>> b = x[1]
>>> c = x[2]
>>> d = x[3]
>>> e = x[4]
>>> a, b, c, d, e
(1, 2, 4, 8, 16)
Но вместо этого Вы также можете воспользоваться более лаконичным и, возможно, более читабельным
>>> a, b, c, d, e = x
>>> a, b, c, d, e
(1, 2, 4, 8, 16)
Это круто, правда? Но можно написать еще круче:
>>> a, *y, e = x
>>> a, e, y
(1, 16, [2, 4, 8])
Фишка в том, что переменная с * собирает значения, не назначенные другим переменным.
Использование цепочки (Chaining) для написания компактного кода
Python позволяет использовать цепочки операторов сравнения. Таким образом, Вам не нужно проверять, являются ли два или более сравнения истинными:
>>> x = 4
>>> x >= 2 and x <= 8
True
Вместо этого Вы можете использовать более компактную форму написания:
>>> 2 <= x <= 8
True
>>> 2 <= x <= 3
False
Python также поддерживает присваивание значений переменным в виде цепочки. Итак, если Вы хотите присвоить одно и то же значение нескольким переменным одновременно, Вы можете сделать это простым
>>> x = 2
>>> y = 2
>>> z = 2
Более компактный использовать распаковку:
>>> x, y, z = 2, 2, 2
Тем не менее, все выглядит ещё круче, если использовать присвоение значения цепочкой:
>>> x = y = z = 2
>>> x, y, z
(2, 2, 2)
Будьте осторожны, когда значения разные! Все переменные ссылаются на одно и то же значение.
Проверка на None
None не является уникальным объектом в Python. Он имеет аналоги, например, null в C-подобных языках.
Можно проверить, ссылается ли переменная на None с операторов сравнения == и !=:
>>> x, y = 2, None
>>> x == None
False
>>> y == None
True
>>> x != None
True
>>> y != None
False
Однако, предпочтительнее использование is и is not:
>>> x is None
False
>>> y is None
True
>>> x is not None
True
>>> y is not None
False
Кроме того, лучше использовать конструкцию x is not None, а не менее читабельную альтернативу (x is None).
Перебор последовательностей (Sequences) и отображений (Mappings)
Вы можете реализовать циклы в Python несколькими предлагает несколько встроенных классов для упрощения их реализации.
Почти всегда Вы можете использовать диапазон, чтобы получить цикл, который выдает целые числа:
>>> x = [1, 2, 4, 8, 16]
>>> for i in range(len(x)):
... print(x[i])
...
1
2
4
8
16
Однако для этого есть лучший
>>> for item in x:
... print(item)
...
1
2
4
8
16
Но что, если Вы хотите запустить цикл в обратном порядке? Конечно, снова можно использовать диапазон:
>>> for i in range(len(x)-1, -1, -1):
... print(x[i])
...
16
8
4
2
1
Объяснение:
Люди его учат веками а ты за минуту хочешь выучить. Это просто краткий курс
Первая задача:
class_a, class_b, class_c = int(input("Сколько детей в А классе? ")), int(input("Сколько детей в Б классе? ")), int(input("Сколько детей в В классе? "))
print("Для класса А нужно купить " + str(round(class_a / 2)) + " парт.\nДля Б " + str(round(class_b / 2)) + " парт.\nДля В " + str(round(class_c / 2)) + " парт.")
Объяснения:
Нам известно, что за каждой партой могут сидеть два ученика.
Чтобы узнать, сколько парт нам нужно купить для каждого класса, мы за количество учеников.
Дальше мы делим количество учеников каждого класса на два и округляем функцией round(число).
Вторая задача:
km = int(input("Сколько км машина проезжает в день?"))
path = int(input("Какова длина маршрута?"))
print("Машина проедет путь за " + str(path/km) + " дня(ей).")
Объяснения:
По условиям задачи запрашиваем, сколько км проезжает машина за день и длину маршрута.
Далее мы делим длину маршрута на км/день и получаем ответ на нашу задачу.
3ую задачу не решил, извиняюсь
Первая задача:
class_a, class_b, class_c = int(input("Сколько детей в А классе? ")), int(input("Сколько детей в Б классе? ")), int(input("Сколько детей в В классе? "))
print("Для класса А нужно купить " + str(round(class_a / 2)) + " парт.\nДля Б " + str(round(class_b / 2)) + " парт.\nДля В " + str(round(class_c / 2)) + " парт.")
Объяснения:
Нам известно, что за каждой партой могут сидеть два ученика.
Чтобы узнать, сколько парт нам нужно купить для каждого класса, мы за количество учеников.
Дальше мы делим количество учеников каждого класса на два и округляем функцией round(число).
Вторая задача:
km = int(input("Сколько км машина проезжает в день?"))
path = int(input("Какова длина маршрута?"))
print("Машина проедет путь за " + str(path/km) + " дня(ей).")
Объяснения:
По условиям задачи запрашиваем, сколько км проезжает машина за день и длину маршрута.
Далее мы делим длину маршрута на км/день и получаем ответ на нашу задачу.
3ую задачу не решил, извиняюсь
Поделитесь своими знаниями, ответьте на вопрос:
изучить мне компьютерный язык
Python-разработчик создаёт бэкенд сайтов: мозг, который принимает запросы, общается с базой данных и передаёт нужную информацию пользователю. Разработчик проектирует алгоритмы взаимодействия сайта с другими интернет-сервисами. Вы изучите язык Python: он востребован и прост. Вы также освоите важнейшие инструменты бэкендера: Django, базы данных, git. В процессе обучения создадите несколько действующих сервисов.
Объяснение: