воскресенье, 28 октября 2018 г.

f-строки (python 3.6+)

Всё течёт и всё меняется.

Раньше строки можно было форматировать так:

name = 'John'
s = '%s is my name.' % name 

Потом так:

name = 'John'
s = '{} is my name.'.format(name) 

А начиная с версии 3.6 оказывается так:

name = 'John'
s = f'{name} is my name'

Собственно последний вариант и называется f-строками. И мне очень нравится этот синтаксис! Переменные можно теперь подставлять прямо в фигурные скобки, а вместо длинного слова format, просто ставить префикс f перед строкой. Браво!

Подробнее можно посмотреть тут.

четверг, 25 октября 2018 г.

High Performance Scientific Computing by Randall J. LeVeque



Лет пять назад на Coursera был отличный курс "High Performance Scientific Computing by Randall J. LeVeque", который включал материал о целой куче разных технологий (Linux, VM, git, shell, MPI, OpenMP, python, fortran, ipython notebooks, Bitbucket, etc.), которые сегодня стали ещё актуальнее!

Некоторые материалы этого курса до сих пор лежат на сайте университета Вашингтона.

Очень рекомендую. Это

пятница, 19 октября 2018 г.

Python Junior Podcast. Спецвыпуск с Григорием Петровым



Отличный выпуск Python Junior Podcast с Григорием Петровым, в котором разбирается статья 2013 года  "10 вещей, которые должен знать начинающий Python-разработчик" (English). Актуальность, по мнению авторов подкаста, ничуть не изменилась.
В выпуске упоминается также хардкорная статья о Юникоде, которая поможет разобраться что делать, если перед вами файл не в кодировке utf-8.

Рекомендую также другие выпуски  Python Junior Podcast. Картинка выше - лого из подкаста на осень 2018 года.

P.S. При разборе пункта 7 статьи ("Copying Structures (and Basic Memory Management)") , авторы упоминают о необходимости делать глубокие копии (deep copies) изменяемых объектов и приводят примеры из slicing-а pandas.DataFrame. Пару дней назад такой подобный пример я выкладывал на репозитарий GitHub в папке rus_pandas.


Как перевести UV в направление и скорость ветра? How to convert wind UV-components to direction and velocity?

 Всё просто.  def uv2dir(u, v):     '''     Источник:     https://github.com/blaylockbk/Ute_WRF/blob/master/functions/wind_calc...