Мастерская 1/4
Наконец доделали ремонт на втором балконе. Это был не самый простой процесс, на который я убил свой майский отпуск, несмотря на то, что работы выполняла фирма. А для установки декоративной рейки пришлось смоделировать и напечатать для рабочих на 3D-принтере специальные шаблоны по разметке и позиционированию.
Дизайн придумали вместе с Юлей. Сейчас начал создавать в этом помещении свою мастерскую: хранение инструмента, деталей, место для пайки и других работ, зоны под 3D-принтеры и может другие небольшие станки.
Да, знаю, что вы подумали — такое красивое помещение и под мастерскую. И я даже согласен с этим. Но мастерская нужна, других мест под неё нет (если не считать абсурдные варианты типа "идти зимой в гараж каждый раз, когда нужно что-то припаять). Поэтому всё буду делать так, чтобы максимально не повредить оформление: всё будет навесное и демонтируемое.
Буду показывать, что получается, stay tuned.
#diy#life
#Functions are first-class citizens in Python:
# They can be passed as arguments to other functions,
# returned as values from other functions, and
# assigned to variables and stored in data structures.
»> def myfunc(a, b):
... return a + b
...
»> funcs = [myfunc]
»> funcs[0]
<function myfunc at 0x107012230>
»> funcs[0](2, 3)
5
# Functions are first-class citizens in Python.
# They can be passed as arguments to other functions,
# returned as values from other #functions, and
# assigned to variables and stored in data structures.
»> def myfunc(a, b):
... return a + b
...
»> funcs = [myfunc]
»> funcs[0]
<function myfunc at 0x107012230>
»> funcs[0](2, 3)
5
https://docs.python.org/3/library/subprocess.html
The #subprocess module allows you to spawn new #processes, connect to their input/output/error pipes, and obtain their return codes. This module intends to replace several older #modules and #functions.
#python
https://docs.python.org/3/library/atexit.html
The #atexit module defines #functions to #register and #unregister cleanup functions. Functions thus registered are automatically executed upon normal interpreter termination. atexit runs these functions in the reverse order in which they were registered; if you register A, B, and C, at #interpreter#termination time they will be run in the order C, B, A.