python中hasattr() getattr() setattr() 函数详情讲解

python中hasattr() getattr() setattr() 函数详情讲解

python中hasattr()

hasattr函数主要 是判断对象中是否存在该值,有者返回Ture,没着 False

class test():
	dict = {"data" : "dict"}
	def hello(self):
		return "HelloWord"

t=test()
print(hasattr(t, "dict"))     #在类中存在 dict,hasattr 存在着返回True
print(hasattr(t, "helloo"))  #在类中  hasattr 找不到 helloo 着返回 False

python中getattr()

etattr 返回类对象的属性或方法, 第二个参数必须是字符串, 可以返回函数内存地址,后面加括号可以运行该函数

class User:
    def __init__(self):
        self.name='alen'
    def func(self):
        print("hello")
        return "hello alen"  # 必须有返回值, 否则为none
test = User()
print(getattr(test,'alen',""alen))  # 类中没alen这属性,default--默认返回值,没有提供则报错
print(getattr(test,'name'))  #返回 alen
print(getattr(test,"func"))  #返回类对象里面 func函数内存地址
print(getattr(test,"func")())  #运行类对象 func函数 

python中setattr()

用于给对象设置(添加或修改)属性值 , (该属性可以不存在)

传入参数
	obj – 对象
	attr_name – 字符串, 对象属性名
	value – 给attr_name属性所赋的值
返回值:
	None

class test:
    country = 'China'

    def __init__(self, name):
        self.name = name
        
    def people_info(self):
        print(f'%s is xxx{self.name}')

setattr(test, 'x', "alen")   #在类对象中添加属性
print(test.x)   #打印该属性   alen

obj = test('alen')
setattr(obj, 'age', "66")    #类赋予对象,在通过setattr 添加属性
print(obj.__dict__)     #打印出类对象 有啥属性   {'name': 'alen', 'age': '66'}
	 
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值