Acessando propriedades de classe a partir de strings em Python
Acessar propriedades de classe a partir de strings pode ser uma técnica útil em vários cenários de programação. Considere a seguinte definição de classe:
class User:
def __init__(self):
self.data = []
self.other_data = []
def doSomething(self, source):
# Access class property based on string value
Solução:
Para acessar uma propriedade de classe dinamicamente com base em um valor de string, você pode usar a função getattr(). Veja como:
x = getattr(self, source)
Neste exemplo, self representa a instância da classe User, e source é uma string que contém o nome do propriedade que você deseja acessar. Por exemplo, se source for 'other_data', o código recuperará a propriedade self.other_data.
Implementação:
Dentro do método doSomething(), você pode implementar o acesso à propriedade da seguinte forma:
def doSomething(self, source):
if hasattr(self, source):
x = getattr(self, source)
Isso verifica se a propriedade source existe na classe antes de acessá-la.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3