Я перечислил пять возможностей Python, которые разработчики должны использовать для улучшения своего кода и экономии времени.
Введение
Это не сверхсложные вещи, просто небольшие шаги для лучшего использования и понимания возможностей Python.
Эти функции ориентированы на начинающих разработчиков Python, я уже давненько разрабатываю на Python, но оглядываясь назад, могу сказать, что хотя я и знал об этих фичах, я не использовал их в своем коде, поэтому я решил составить список некоторых хороших фич.
Использование F-strings
F-strings это пожалуй лучший способ форматирования строк. У него простой синтаксис и его легко отлаживать.
Синтаксис прост: перед строкой нужно поставить символ f в верхнем или нижнем регистре, а переменные/выражения можно заключить в фигурные скобки.
В приведенном ниже примере следует обратить внимание на то, что строки в выражении используют двойные кавычки вместо одинарных, поскольку в примере с fstring используются одинарные кавычки, помните об этом, чтобы избежать синтаксических ошибок.
name = "Егор" age = 30 city = "Санкт-Петербург" message = f"Мое имя {name}, мне {age} лет и я проживаю в городе {city}" print(message)
Вывод программы
Мое имя Егор, мне 30 лет и я проживаю в городе Санкт-Петербург
Распаковка итерируемых объектов
Если вы знаете Python, вы наверняка знаете, как мы можем распаковать содержимое итерабельной переменной в виде отдельных переменных:
a, b, c = ("Russian", "USA", "China") print(a) print(b) print(c)
Вывод программы
Russian USA China
Наряду с этим мы можем воспользоваться звездочкой *, также известной как оператор распаковки/упаковки. Он упаковывает несколько значений в одну переменную и формирует итерабельную переменную, которую мы можем использовать по своему усмотрению. Например:
country = ("Russian", "USA", "China", "Korea", "Brazil", "Congo") a, *b, c = country print(a) print(b) print(c)
Вывод программы
Russian ['USA', 'China', 'Korea', 'Brazil'] Congo
Другим подходящим примером использования этого является *args в функции, если нет уверенности в количестве передаваемых параметров, с помощью *args все параметры упаковываются в кортеж.
Argparse — парсер аргументов запуска
Для разработчиков Python, которые пишут много сценариев, передача параметров из оболочки вместо input() экономит много времени и интуитивно понятна.
После импорта argparse мы определяем объект парсера, здесь также можно передать простое описание скрипта вместе с именем.
Затем мы добавляем к нему аргументы, имена аргументов предваряются одним или несколькими тире, и мы можем иметь альтернативные имена для одного аргумента, мы вызываем функцию parse_args(), которая возвращает объект пространства имен. Затем мы можем просто получить доступ к значениям, используя имена аргументов, как показано ниже:
import argparse parser = argparse.ArgumentParser(description="Пример парсера аргументов") parser.add_argument("--num", "-n", default=20) args = parser.parse_args() print(args.num)
Выполним код
python3 app.py 20 python3 app.py -n 10 10 python3 app.py --num 100 100
Интерактивный режим
Если вы хотя бы раз использовали Python, вы наверняка уже знакомы с тем, как можно запустить интерпретатор из оболочки, просто набрав python в вашей оболочке.
Python 3.9.6 (v3.9.6:db3ff76da1, Jun 28 2021, 11:49:53) [Clang 6.0 (clang-600.0.57)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> print("test") test >>>
В основном разработчики пишут код в редакторе и запускают его в shell, но что, если я скажу вам, что вы можете объединить лучшее из обоих методов?
Возьмем к примеру код выше
country = ("Russian", "USA", "China", "Korea", "Brazil", "Congo") a, *b, c = country print(a) print(b) print(c)
Теперь вместо запуска python app.py добавьте флаг -i перед именем, он запустит скрипт сначала один раз, но интерпретатор все еще будет активен, теперь вы можете вызывать функции этого скрипта, получать значения переменных и т.д. Это быстрый и полезный способ тестирования или отладки вашего кода.
python3 -i app.py Russian ['USA', 'China', 'Korea', 'Brazil'] Congo >>> country ('Russian', 'USA', 'China', 'Korea', 'Brazil', 'Congo') >>> a 'Russian' >>> b ['USA', 'China', 'Korea', 'Brazil'] >>>
Enumerate
Традиционным способом для итерации по списку вы используете for index in range(0,len(example_list)): это хорошо, но enumerate делает это лучше.
Если мы обернем итерабельную переменную в enumerate() для каждой итерации, enumerate вернет кортеж, первый элемент которого — счетчик/индекс, а второй элемент — элемент этой итерабельности. Мы можем распаковать кортеж в цикле for и использовать по своему усмотрению.
Если нам не нравится, что счетчик начинается с 0, мы можем изменить и это.
country = ("Russian", "USA", "China", "Korea", "Brazil", "Congo") for c in enumerate(country): print(c)
Вывод программы
(0, 'Russian') (1, 'USA') (2, 'China') (3, 'Korea') (4, 'Brazil') (5, 'Congo')
Чтобы изменить начальный индекс используем аргумент start
country = ("Russian", "USA", "China", "Korea", "Brazil", "Congo") for c in enumerate(country, start=-100): print(c)
Вывод программы
(-100, 'Russian') (-99, 'USA') (-98, 'China') (-97, 'Korea') (-96, 'Brazil') (-95, 'Congo')
Заключение
Итак, это были пять функций, которые вы можете использовать, довольно простые для понимания, понятные и весьма полезные.
Спасибо, что нашли время прочитать это! ?️
Спасибо за статью, приятно читать!
Для себя узнал новое про интерактивный режим
Пожалуйста, Артем)
забавно, не знал, что у enumerate есть ещё и дополнительный параметр. как я десять лет жил без этого знания?
век живи — век учись)
век живи — век учись!))