All streams
Search
Write a publication
Pull to refresh
1
0
Никита @quantum73

User

Send message

Это всё для кастомных низкоуровневых реализаций по большей части)
Старая добрая асинхронщина до asyncio была написана на генераторах, вот там это всё и годится.
Кому-то может надо писать какие-то адаптеры легаси библиотек к asyncio или наоборот и всё в таком духе.

Если говорить про постгрес, то в их документации сказано следующее:

Команда SET TRANSACTION устанавливает характеристики текущей транзакции. На последующие транзакции она не влияет.

https://postgrespro.ru/docs/postgrespro/15/sql-set-transaction

В главе "Объединяем slots, dict и weakref" сказано "Иногда хочется всего одновременно. Решение — объединить слоты с возможностью динамического добавления атрибутов, добавив в slots специальные поля dict и weakref.", но в коде этого нет.
Как я понимаю, ожидался такой код:

import weakref

class Resource:
    __slots__ = ('name', '__dict__', '__weakref__')
    
    def __init__(self, name):
        self.name = name

    def __repr__(self):
        return f"<Resource {self.name}>"

res = Resource("CacheResource")
weak_res = weakref.ref(res)
print("До удаления:", weak_res())
del res
print("После удаления:", weak_res())
# До удаления: <Resource CacheResource>
# После удаления: None

Верно?)

Так тут дело не в порядке переменных же)
swap меняет именно значения, которые были в переменных a и b.
Считаем что для тебя эта функция черный ящик.
Значит, передав туда переменные a=10 и b=15 и присвоив возвращаемое значение этой функции снова этим переменным, то ожидаем увидеть что в переменной a будет значение 15, а в переменной b - 10.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Backend Developer
Senior
From 350,000 ₽
Python
Docker
Nginx
Django
Redis
Celery
RabbitMQ
PostgreSQL
Kubernetes
CI/CD