Хотите строить графики в консоли?
$ pip install bashplotlib
Стройте на здоровье.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🍾13❤🔥3👍2
Когда-нибудь задумывались о том, как заглянуть внутрь объекта в Python и посмотреть на его атрибуты? Конечно, задумывались.
>>> dir()
>>> dir("Hello World")
>>> dir(dir)
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
🍾12👍7🤔4🏆2
Please open Telegram to view this post
VIEW IN TELEGRAM
Ответ:
Anonymous Quiz
31%
[2, 3, 4, 11] [1, 2, 3, 10]
11%
[2, 3, 4, 10] [1, 2, 3, 10]
45%
[2, 3, 4, 11] [1, 2, 3]
13%
[2, 3, 4, 11] [2, 3, 4, 11]
🤔27👍15🏆7👨💻2
Если вы не разрабатываете свою IDE, то вам, наверное, будет более интересно использовать Jedi в качестве расширения редактора. К счастью, уже есть много вариантов.
Возможно, вы уже встречались с Jedi — IPython использует эту библиотеку для автодополнения.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🎉2⚡1
Зависли над какой-то проблемой и не можете вспомнить её решение? Нужно зайти на StackOverflow, но не хочется покидать терминал?
$ pip install howdoi
$ howdoi vertical align css
$ howdoi for loop in java
$ howdoi undo commits in git
$ howdoi exit vim
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10😢2🎉2❤🔥1
Python поддерживает многопоточность, в использовании которой помогает стандартный модуль Queue.
🗣️ Очереди «первым пришёл — первым ушёл» («first in, first out», FIFO) позволяют извлекать объекты в порядке их добавления. Из очередей «последним пришёл — первым ушёл» («last in, first out», LIFO) можно извлекать последние добавленные объекты.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
🏆4🗿2👍1🍾1
В Python есть поддержка перегрузки операторов — одной из тех штук, о которых говорят все настоящие computer-scientis’ы.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🍾2🏆1
При определении класса или объекта полезно добавлять «официальный» способ представления объекта строкой. Например:
>>> file = open('file.txt', 'r')
>>> print(file)
<open file 'file.txt', mode 'r' at 0x10d30aaf0>
class SomeClass:
def __repr__(self):
return "<какое-то описание>"
some_instance = SomeClass()
# выводит <какое-то описание>
print(some_instance)
Метод
__repr__()
позволяет определять строковое представление, предназначенное для программиста и удобное при использовании во время отладки, а метод __str__()
позволяет определять понятное пользователю строковое представление, которое можно отображать в интерфейсе программы.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
Python — отличный скриптовый язык. Но иногда стандартные библиотеки
os
и subprocess
вызывают только головную боль.sh
поддерживает только платформы Linux
и macOS
; для работы на Windows
вам придётся поискать другой инструмент.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🥰1😱1🏆1🍾1
У Wikipedia есть классное API, которое позволяет получить доступ к непревзойдённому источнику полностью бесплатной информации.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
🍾6🗿3👍2❤🔥1
>>> ...
Ellipsis
python
def my_awesome_func():
...
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🥰1🎉1💯1
YAML означает «YAML — не язык разметки» («YAML Ain’t Markup Language»). Это язык форматирования данных, являющийся надмножеством JSON.
🗣️ В отличие от JSON, YAML может хранить более сложные объекты и ссылаться на собственные элементы. Также там можно писать комментарии, что делает YAML подходящим для конфигурационных файлов.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🏆2🎉1
Начиная с версии 3.7, Python поставляется с классами данных. У них есть несколько преимуществ по сравнению с обычными классами или другими альтернативами:
•
возврат нескольких значений или словарей;•
класс данных требует минимального количества кода;•
возможность сравнения классов данных;•
возможность распечатать класс данных для отладки при помощи repr;•
снижение вероятности ошибок в связи с требованием класса данных type hints.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🍾2😁1🏆1
*
) перед ними, заставляя все аргументы стать ключевыми.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🎉1🏆1
Вы можете получить результат последнего выражения в Python REPL с помощью оператора подчеркивания, например, в Python REPL это выглядит следующим образом:
>>> 3 * 3
9
>>> _ + 3
12
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
😱16👍11🍾2🏆1
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
🏆6👍4🍾1
def print_argument(func):
def wrapper(the_number):
print("Argument for",
func.__name__,
"is", the_number)
return func(the_number)
return wrapper
@print_argument
def add_one(x):
return x + 1
print(add_one(1))
Внутри
print_argument
мы определяем функцию-обертку. Она выводит аргумент и имя вызываемой функции, выполняет фактическую функцию и возвращает ее результат, как если бы функция вызывалась «обычно».@print_argument
мы применяем наш декоратор к функции. Декоратор может быть повторно использован и для других функций.Argument for add_one is 1
2
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🏆1🍾1
Кэширование — это техника, которая позволяет значительно улучшить производительность, сохраняя результаты вызовов функций и возвращая кэшированные результаты для одинаковых входных данных.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🍾2🏆1
🗣️ С их помощью можно реализовать ленивую инициализацию свойств, что особенно полезно для дорогостоящих операций, которые нужно выполнять только при первом обращении к свойству
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
🏆6👍4🍾2