Библиотека питониста | Python, Django, Flask
40.5K subscribers
2.78K photos
75 videos
51 files
4.36K links
Все самое полезное для питониста в одном канале.

Список наших каналов: https://t.me/proglibrary/9197

Курс по ML: https://cl

Для обратной связи: @proglibrary_feeedback_bot

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
​​Как войти в разработку и стать программистом?

Скачайте бесплатный пошаговый план от онлайн-университета Нетология
«С чего начать погружение в сферу разработки».

В PDF-плане мы собрали:
— Чек-листы необходимых навыков для начинающего.
— Ссылки на полезные ресурсы, книги и бесплатные курсы.
— Советы HR-специалистов о том, как правильно составить резюме
и наработать портфолио.
— Рейтинг зарплат для начинающих позиций в разработке.

Считается, что программирование — сложная сфера, требующая особого склада ума. В реальности же большинство языков программирования доступны для изучения без предварительной подготовки — даже новичок может найти достойное место в IT.
Главное — задаться целью и правильно спланировать погружение в новую профессию. В этом поможет наш пошаговый план.

Скачайте бесплатно по ссылке:
https://prglb.ru/2cxyv
Полное руководство Python import Statements
Данный пост - это погружение автора в решение общих проблем с импортом. Если не указано иное, все примеры работают как с Python 2.7, так и с 3.6.

#полезностьдня

https://prglb.ru/2kxqj
📌 Разыскивается главный редактор на сайт proglib.io

Если вам хочется глубже погрузиться в мир IT и владеть вниманием широкой аудитории, эта вакансия для вас!

https://proglib.recruitee.com/o/7b76f5yn7m
Библиотека питониста | Python, Django, Flask pinned «📌 Разыскивается главный редактор на сайт proglib.io Если вам хочется глубже погрузиться в мир IT и владеть вниманием широкой аудитории, эта вакансия для вас! https://proglib.recruitee.com/o/7b76f5yn7m»
Любой JSON является синтаксически правильным кодом Python. Однако true, false и null не определены по умолчанию. Их определение позволяет использовать eval в качестве парсера JSON (что в любом случае не очень хорошая идея):

#codeexample

$ cat json
{"$id":"1","currentDateTime":"2019-04-25T14:16Z","utcOffset":"00:00:00","isDayLightSavingsTime":false,"dayOfTheWeek":"Thursday","timeZoneName":"UTC","currentFileTime":132006753872039629,"ordinalDate":"2019-115","serviceResponse":null}
>>> null = None
>>> true = True
>>> false = False
>>> with open('json') as f:
... j = eval(f.read())
...
>>> j
{'currentFileTime': 132006753872039629, 'isDayLightSavingsTime': False, 'dayOfTheWeek': 'Thursday', 'utcOffset': '00:00:00', 'serviceResponse': None, '$id': '1', 'timeZoneName': 'UTC', 'ordinalDate': '2019-115', 'currentDateTime': '2019-04-25T14:16Z'}
Как стать Python Web Developer
Данный путь обучения предоставит вам базовые навыки, необходимые для того, чтобы стать веб-разработчиком на Python. Вы узнаете о самых популярных средах веб-разработки на Python, таких как Django и Flask, работе с базами данных, а также о базовых навыках, необходимых для работы  с внешними интерфейсами (таких как HTML).

#статьядня

https://prglb.ru/g85s
​​Линейная регрессия на Python: объясняем на пальцах
Линейная регрессия применяется для анализа данных и в машинном обучении. Постройте свою модель на Python и получите первые результаты!

#статьядня

https://prglb.ru/41rpp
Требования к Python-разработчику на мировом рынке 2019 года
Исследование о наборе навыков, необходимых Python-разработчику в 2019 году. Будьте самым востребованным на мировом рынке труда!

#статьядня

https://prglb.ru/22gh6
Вероятно, самая распространенная ошибка новичка в Python - предоставление изменяемого объекта в качестве аргумента функции по умолчанию. Этот объект является общим для всех вызовов функций, которые могут привести к странным результатам:

#codeexample


def append_length(lst=[]):
lst.append(len(lst))
return lst

print(append_length([1, 2])) # [1, 2, 2]
print(append_length()) # [0]
print(append_length()) # [0, 1]


Тем не менее, для разных кэшей может быть полезно совместное использование:

def fact(x, cache={0: 1}):
if x not in cache:
cache[x] = x * fact(x - 1)

return cache[x]

print(fact(5))


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

>>> fact._defaults_
({0: 1, 1: 1, 2: 2, 3: 6, 4: 24, 5: 120},)
Вы можете использовать любой объект в качестве ключа в Python, если он реализует метод __hash__. Этот метод может возвращать любое целое число, если выполняется только одно требование: одинаковые объекты должны иметь одинаковые хэши (не наоборот).

#codeexample

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

Есть также одна странная вещь, которая может удивить вас во время отладки или модульного тестирования:

...: class A:
...:     def __init__(self, x):
...:         self.x = x
...:
...:     def __hash__(self):
...:         return self.x
...:
In : hash(A(2))
Out: 2
In : hash(A(1))
Out: 1
In : hash(A(0))
Out: 0
In : hash(A(-1))  # sic!
Out: -2
In : hash(A(-2))
Out: -2


В CPython -1 внутренне зарезервирован для состояний ошибок, поэтому он неявно преобразуется в -2.
Серия полезных видео для Python разработчика
1. Ты неправильно замеряешь время в Python! Или нет? 
2. Запуск среды разработки в tmux 
3. Ищем ботов в Instagram подписчиках на Python 
4. Разрабатывать в Vim или в IDE? Vim vs IDE. Где писать код? 
5. Именование переменных, классов и методов в коде 

#youtubeдня

https://prglb.ru/4j5vv
Видео докладов с Python Meetup Chelyabinsk #5
1. GIL: почему это боль и как с ним жить — Иван Меньших, RaRe Technologies
2. Introducing dry-python — Артем Малышев
3. Что внутри asyncio — Александр Меренков, Antida software
4. Как прокачать линтер — Максим Мазаев, ЦИАН
5. Один в поле не воин, или причем тут OSS — Егор Пирогов, 100 Макетов

#видеодня

https://prglb.ru/5tpbk
Совет по Python Pro: Хотите использовать R / Java / C или любой другой язык в Python?
Python предоставляет наиболее простой способ справиться с ситуациями, когда нам приходится переключаться между несколькими языками.

#статьядня

https://prglb.ru/4klve
​​Когда скончалась фантазия: подборка идей для создания проекта
Реализовываете скучные концепции, потому что так советуют в учебниках? Чтобы такого не было, мы собрали несколько идей для создания проекта.

#стятьядня

https://prglb.ru/47lwi
Visual Studio Code для Python разработчика
Из данного видео вы узнаете, как установить VSCode, установить расширение Python, как изменить интерпретаторы Python, создать виртуальные среды, отформатировать/интерпретировать ваш код, как использовать Git в VSCode, как отлаживать программы, как выполнять модульное тестирование и многое другое.

#видеодня

https://prglb.ru/1kura
Как использовать sorted() и sort() в Python
В этом руководстве вы узнаете, как сортировать различные типы данных в разных структурах данных, настраивать порядок и работать с двумя различными методами сортировки в Python.

#статьядня

https://prglb.ru/1ca2w
Sockets with Python 3
В данном видеокурсе автор раскажет все о библиотеке сокетов - части стандартной бибилотеки Python.

#видеодня

https://prglb.ru/2skbn
В Python 3.4+ вы можете использовать contextlib.suppress(), чтобы выборочно игнорировать определенные исключения:

#codeexample

import contextlib

with contextlib.suppress(FileNotFoundError):
os.remove('somefile.tmp')


# Это эквивалентно:

try:
os.remove('somefile.tmp')
exept FileNotFoundError:
pass


# Вернуть менеджер контекста, который подавляет
# любое из указанных исключений, если они встречаются
# в теле оператора with, а затем возобновляет
# выполнение с первым оператором после конца
# оператора with."