How to use the getattr() function in Python to obtain the attribute value of an object

王林
Release: 2023-08-22 15:00:14
Original
1121 people have browsed it

How to use the getattr() function in Python to obtain the attribute value of an object

How to use the getattr() function in Python to obtain the attribute value of an object

In Python programming, we often encounter situations where we need to obtain the attribute value of an object. Python provides a built-in functiongetattr()to help us achieve this goal.getattr()The function allows us to get the attribute value of the object by passing the object and attribute name as parameters. This article will introduce the usage of thegetattr()function in detail and provide actual code examples for better understanding.

getattr()The syntax of the function is as follows:

getattr(object, name[, default])
Copy after login

Among them,objectis the object to obtain the attribute value,nameis the name of the attribute. The optionaldefaultparameter indicates the default value returned when the attribute does not exist. The default isNone.

Then let’s look at a few examples to demonstrate the usage of thegetattr()function. First, we define a simple classPerson:

class Person: def __init__(self, name, age): self.name = name self.age = age
Copy after login

Next, we instantiate aPersonobject and definename## for it #AndageTwo attributes:

person = Person("Alice", 25)
Copy after login

Now, we can use the

getattr()function to get the attribute value of the object. For example, we can get thenameattribute value of thepersonobject:

name = getattr(person, "name") print(name) # 输出:Alice
Copy after login

Similarly, we can also get the

of thepersonobject ageAttribute value:

age = getattr(person, "age") print(age) # 输出:25
Copy after login

We can also use the

getattr()function to get attributes that do not exist in the object. By default, thegetattr()function returnsNone. For example, we try to get thegenderattribute of thepersonobject:

gender = getattr(person, "gender") print(gender) # 输出:None
Copy after login

If we want to customize the default value when the attribute does not exist, we can use

getattr ()The third parameter of the functiondefault. For example, we define agenderattribute with a default value of"Unknown", and then try to get its value:

gender = getattr(person, "gender", "Unknown") print(gender) # 输出:Unknown
Copy after login

In addition to getting it through the attribute name string In addition to the attribute value of the object, the

getattr()function can also accept a callable object as the attribute name. This callable object will find the attribute name in the object. For example, we define a functionget_age()to obtain theageattribute value of thepersonobject:

def get_age(obj): return obj.age age = getattr(person, get_age) print(age) # 输出:25
Copy after login
It should be noted that when When using a callable object as a property name, the callable object still needs to return the correct property value.

To sum up, the

getattr()function is a very useful function, which can help us get the attribute value of an object in programming. We can use thegetattr()function by passing the object and property name, and can also set default values and use callable objects as property names. I hope the sample code in this article can help you better understand the usage of thegetattr()function.

The above is the detailed content of How to use the getattr() function in Python to obtain the attribute value of an object. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!