No nosso tutorial anterior, aprendemos sobre o comando do sistema Python. Neste tutorial, discutiremos sobre a função getattr()
do Python.
Função getattr()
do Python
A função getattr()
do Python é usada para obter o valor de um atributo de um objeto e, se nenhum atributo desse objeto for encontrado, o valor padrão é retornado. Basicamente, retornar o valor padrão é a principal razão pela qual você pode precisar usar a função getattr()
do Python. Portanto, antes de começarmos o tutorial, vamos ver a sintaxe básica da função getattr()
do Python.
getattr(object_name, attribute_name[, default_value])
Exemplo de getattr()
do Python
Nesta seção, aprenderemos como acessar os valores dos atributos de um objeto usando a função getattr()
. Suponha que estejamos escrevendo uma classe chamada Student
. Os atributos básicos da classe Student são student_id
e student_name
. Agora vamos criar um objeto da classe Student e acessar seu atributo.
class Student:
student_id=""
student_name=""
# construtor inicial para definir os valores
def __init__(self):
self.student_id = "101"
self.student_name = "Adam Lam"
student = Student()
# obter valores do atributo usando a função getattr()
print('\ngetattr : name of the student is =', getattr(student, "student_name"))
# mas você poderia acessar assim
print('traditional: name of the student is =', student.student_name)
Valor padrão do getattr() do Python
Nesta seção, usaremos a opção de valor padrão do getattr() do Python. Se você deseja acessar qualquer atributo que não pertença ao objeto, então você pode usar a opção de valor padrão do getattr(). Por exemplo, se o atributo student_cgpa
não estiver presente para o aluno, então mostrará um valor padrão. No exemplo a seguir, veremos um exemplo de valor padrão. Também aprenderemos o que acontece se o atributo não estiver presente e não estivermos usando a opção de valor padrão.
class Student:
student_id=""
student_name=""
# construtor inicial para definir os valores
def __init__(self):
self.student_id = "101"
self.student_name = "Adam Lam"
student = Student()
# usando a opção de valor padrão
print('Using default value : Cgpa of the student is =', getattr(student, "student_cgpa", 3.00))
# sem usar o valor padrão
try:
print('Without default value : Cgpa of the student is =', getattr(student, "student_cgpa"))
except AttributeError:
print("Attribute is not found :(")
Portanto, após executar o código, você obterá uma saída como esta
Using default value : Cgpa of the student is = 3.0
Attribute is not found :(
Observe que um AttributeError
é gerado quando o valor padrão não é fornecido ao chamar a função getattr().
Motivo para usar a função getattr() do Python
A principal razão para usar `getattr()` em Python é que podemos obter o valor usando o nome do atributo como String. Assim, você pode inserir manualmente o nome do atributo em seu programa a partir do console. Novamente, se um atributo não for encontrado, você pode definir algum valor padrão, o que nos permite completar alguns de nossos dados incompletos. Além disso, se a sua classe Student estiver em andamento, podemos usar a função `getattr()` para completar outro código. Uma vez que a classe Student tenha esse atributo, ele o pegará automaticamente e não usará o valor padrão. Então, é basicamente isso sobre a função `getattr()` em Python. Se tiver alguma dúvida sobre isso, por favor, use a caixa de comentários abaixo. Referência: Documentação Oficial
Source:
https://www.digitalocean.com/community/tutorials/python-getattr