Python中的所有东西都是对象,几乎所有东西都有属性和方法。在python中,函数也是对象。因此,它们具有与其他对象一样的属性。所有函数都具有内置属性__doc__,该属性返回函数源代码中定义的doc字符串。我们还可以为其分配新属性,以及检索这些属性的值。
为了处理属性,Python为我们提供了“ getattr”和“ setattr”,这是一个需要三个参数的函数。“ setattr”和使用=赋值运算符左侧的点符号之间没有区别:
可以如下编写给定代码以分配和检索属性。
def foo(): pass setattr(foo, 'age', 23 ) setattr(foo, 'name', 'John Doe' ) print(getattr(foo, 'age')) foo.gender ='male' print(foo.gender) print(foo.name) print(foo.age)
输出结果
C:/Users/nhooo1/~.py 23 male John Doe 23