Форум сайта python.su
Olezhkaв переменной хранится указатель на объект = некий адрес, по которому этот объект хранится в памяти.
Как же так-то?! Опять создается одноименный экземпляр по другому адресу памяти?
Отредактировано xam1816 (Янв. 6, 2023 22:47:30)
Офлайн
xam1816Ладно! Установлю! Не ругайся! Просто я с “IDLE” начал и уже к нему привык. А в “PyCharm” режим отладки с указанием значений всех переменных в режиме реального времени есть?
почему ты не развиваешься???
Офлайн
Olezhkaдебаггер называется, он там есть
А в “PyCharm” режим отладки с указанием значений всех переменных в режиме реального времени есть?
Офлайн
xam1816Ясно. Спасибо
Офлайн
OlezhkaСтроки всегда создаются по новой. Сравни их id до операции += и после. Это разные строки. В питоне нет констант. В других языках есть константы.
Опять создается одноименный экземпляр по другому адресу памяти?
Офлайн
py.user.nextСпасибо! Буду знать! А кортеж, строка не есть подобие констант?
В питоне нет констант.
Офлайн
OlezhkaЕсть два понятия констант. Константы, который не переменные. Константы, которые значения.
А кортеж, строка не есть подобие констант?
>> const n = 3 <- undefined >> console.log(n) 3 <- undefined >> n = 4 Uncaught TypeError: invalid assignment to const 'n' <anonymous> debugger eval code:1 >>
Отредактировано py.user.next (Янв. 7, 2023 08:29:12)
Офлайн
py.user.nextЯсно. А какой смысл этих констант? Это чтобы по забывчивости не изменить случайно какое-то важное значение в программе, которое менять нельзя? Ну, допустим, пароль для логина в “requests”.
Офлайн
OlezhkaГлавный их смысл в том, что они быстрее обрабатываются. В питоне их нет, но это не проблема ни для кого. Люди всегда помнят, где у них константы, для этого достаточно их просто обозначить большими буквами. Например, в tkinter ты их видишь в виде LEFT, BOTH и так далее. Вот большие буквы это и значат, что это какие-то константы, которые имеют фиксированное значение. При этом их можно поменять так же прекрасно, потому что в питоне нет констант.
А какой смысл этих констант? Это чтобы по забывчивости не изменить случайно какое-то важное значение в программе, которое менять нельзя?
>>> import tkinter.constants >>> >>> dir(tkinter.constants) ['ACTIVE', 'ALL', 'ANCHOR', 'ARC', 'BASELINE', 'BEVEL', 'BOTH', 'BOTTOM', 'BROWSE', 'BUTT', 'CASCADE', 'CENTER', 'CHAR', 'CHECKBUTTON', 'CHORD', 'COMMAND', 'CURRENT', 'DISABLED', 'DOTBOX', 'E', 'END', 'EW', 'EXTENDED', 'FALSE', 'FIRST', 'FLAT', 'GROOVE', 'HIDDEN', 'HORIZONTAL', 'INSERT', 'INSIDE', 'LAST', 'LEFT', 'MITER', 'MOVETO', 'MULTIPLE', 'N', 'NE', 'NO', 'NONE', 'NORMAL', 'NS', 'NSEW', 'NUMERIC', 'NW', 'OFF', 'ON', 'OUTSIDE', 'PAGES', 'PIESLICE', 'PROJECTING', 'RADIOBUTTON', 'RAISED', 'RIDGE', 'RIGHT', 'ROUND', 'S', 'SCROLL', 'SE', 'SEL', 'SEL_FIRST', 'SEL_LAST', 'SEPARATOR', 'SINGLE', 'SOLID', 'SUNKEN', 'SW', 'TOP', 'TRUE', 'UNDERLINE', 'UNITS', 'VERTICAL', 'W', 'WORD', 'X', 'Y', 'YES', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__'] >>> >>> tkinter.constants.LEFT 'left' >>> tkinter.constants.YES 1 >>>
Отредактировано py.user.next (Янв. 7, 2023 21:36:16)
Офлайн
py.user.nextЯсно! Спасибо за подробное объяснение! А ты в “Пайтоне” не работал с модулями прямого доступа к памяти? Не редактировал что-нибудь в ОЗУ на лету?
Офлайн