Есть ли способ изменить содержимое из str
экземпляра в python?
Я не хочу просто создавать новую строку, потому что мне нужно передать экземпляр строки в качестве параметра другому классу, который будет работать с ним. Затем мне нужно изменить содержимое строки.
Я не могу просто создать новый метод класса, поэтому он переназначает строку, потому что это Widget
класс модуля tkinter
.
Мне нужно это, чтобы изменить цвет виджетов. Я знаю, что есть такие методы, как config
метод, который сделает это для меня, но когда у меня есть около ста виджетов, а затем мне нужно изменить цвет всех их, и каждый цвет отличается, это очень не элегантно, неудобно писать строку конфигурации для каждого из этих виджетов, и это очень трудно поддерживать.
Я подумал, что в этом случае было бы здорово использовать указатель, но, к сожалению, в python нет указателей. Я даже думал о создании некоторого класса, который каким-то образом return
будет содержать self.string
контент вместо идентификатора экземпляра, такой как <__main__.Spam object at 0x02F20390>
.
class String:
... def __someprivatemethod__(self):
... return "That returns string on call"
...
>>> spam = String()
>>> spam
<__main__.String object at 0x02F203F0>
>>> # now it should return the "That returns string on call
Я не хочу использовать метод __call__
, хотя из-за скобок ()
в конце. В этом примере я просто хочу вернуть "That returns string on call"
строку. Это вообще возможно?