• Как сделать базу данных на Python для локальной программы?

    @Guerro69
    Для простых программ: sqlite3
    Для серверов, ботов: MySQL на phpmyadmin, модуль для python: pymysql
    Ответ написан
    Комментировать
  • Как сделать базу данных на Python для локальной программы?

    @galaxy
    Ответ написан
    Комментировать
  • Почему поверхностная копия не изменяет значение?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    всё как и долно быть.
    В С-подобных языках программирования переменная - это, как бы, ящичек с именем. Вы в ящичек можете положить значение, а при присвоении в ящик кладётся другое значение, а старое значение уже с этим ящиком не будет ассоциировано. Один ящик - одно значение.

    В Питоне переменная - это как ярлычок с именем. При присвоении вы, как бы, вешаете ярлычок на объект:
    x = [1,2,3]
    y=x
    И у вас теперь есть два ярлычка: x и y. Оба привязаны к одному и тому же объекту.
    Если вы этот объект измените (отредактируете элемент), то не важно как вы к нему будете обращаться, по какому из имён.

    Нужно различать что вы меняете: вы либо перевешиваете ярлычок с именем на друго объект, либо меняете что-то внутри объекта, к которому привязан ярлычок. Чувствуете разницу?

    Представьте, что в вашем объекте (Заявка) два атрибута: Имя_клиента и Адрес_квартиры.
    Вы копируете заявку поверхностно. Меняете имя в одной из копий, а во второй всё осталось как было. Делаете ремонт в квартире по указанному адресу. Само собой алрес в обеих копиях заявки один итот же и вы его не меняели. Вы меняели объект по этому адресу.

    Теперь вы берете заявку и делаете её глубокое копирование:
    Тут начинается проблема у аналогии, но это нам не помешает.
    Вы меняете имя в копии и тут всё работает как в прошлом примере.
    Но при создании глубокой копии создалась новая абсолютно такая же квартира но с новым адресом. В копии заявки адрес уже другой. Если вы сделаете ремонт в квартире по новому или старому адресу, то на другой квартире это не отразится.
    Ответ написан
    Комментировать
  • Как обновить значение словаря?

    NeiroNx
    @NeiroNx
    Программист
    Сделай лучше так:
    users = {}
    user[1611531] = {"name":"Иван","family":"Иванов","sname":"Иванович","money":55555}
    user[1611531]["sname"] = "Петрович"

    в круглых скобчках - это tuple . Структура весьма ограниченная и неудобная. Разве что памяти мало занимает.
    Ответ написан
    1 комментарий