Python面试题--第59道题目--python反射机制hasattrgetattrsetattr的用法--2022年04月14日

Python面试题--第59道题目--python反射机制hasattrgetattrsetattr的用法--2022年04月14日,第1张

目录

一、python反射机制

1、用官方的话说"反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力"。

2、python的内置函数提供了强大的反射机制:

二、实例 *** 作代码:


一、python中反射机制: 1、用官方的话说"反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力"。 2、python的内置函数提供了强大的反射机制:

__import__()加载模块

dir()列表形式返回属性和方法

hasattr():可以判断一个对象是否包含某个属性

getattr():可以获取对象中某一个属性的值

setattr():可以设置对象中某一个属性的值

delattr():可以删除对象中某一个属性的值

二、实例 *** 作代码:
class Person:
    def __init__(self) -> None:
        self.name = 'lining'
        self.age = 12
    def show(self):
        print(self.name)
        print(self.age)

if hasattr(Person,'show'):
    print("存在show方法")

person = Person()
person_name = getattr(person,'name')
person_age = getattr(person,'age')
print(person_name)
print(person_age)
print('修改后')
setattr(person, "age", 33)
setattr(person,"sex", "男")
print(getattr(person,"name"))
print(getattr(person,"age"))
print(getattr(person,"sex"))

结果如下图:

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/718826.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存