反射与内置方法str del
Posted quqinchao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了反射与内置方法str del相关的知识,希望对你有一定的参考价值。
1、反射
用字符串来操作类或者对象的属性
class People:
# country= ‘china‘
# def __init__(self,name):
# self.name= name
#
# def eat(self):
# print(‘%s is eating‘%(self.name))
# peo1= People (‘qqc‘)
(1)hasattr
print(hasattr(peo1,‘name‘)) #判断name是否在peo1.name中是可以访问的属性
(2)getarrt
print(getattr(peo1,‘xx‘,‘None‘))#在peo1中没有xx这个属性,返回None,不会报错
(3)strattr
setattr(peo1,‘age‘,19) #增加属性
# print(peo1 .__dict__ )
(4)delattr(peo1,‘name‘) #删除
2、1.内置方法__str__
class People:
# # def __init__(self,name,age):
# # self.name = name
# # self.age= age
# # #在对象self被打印时,自动触发 ,应该在方法内采集与对象self有关的信息,然后拼成字符串返回
# # def __str__(self):
# # return ‘姓名%s,年龄%s‘%(self.name,self .age)
# #
# # obj = People (‘qqc‘,33)
# # print(obj)
2、2.内置方法__del__
__del__析构方法
# class People:
# def __init__(self,name,age):
# self.name = name
# self.age= age
# self.f= open(‘q.txt‘,‘rt‘,encoding= ‘utf-8‘)
# def __del__(self):
# #做回收系统资源相关的事情
# self.f.close()
# print(‘ggg‘)
#
# obj = People(‘egon‘,18)
# del obj
以上是关于反射与内置方法str del的主要内容,如果未能解决你的问题,请参考以下文章
python26 封装 多态 常用的内置函数 `__str__` `__del__` 反射 动态导入模块
17 Apr 18 内置函数(isinstance,issubclass)反射 __str__ __del__ __call__ 元类
内置函数补充,__str__方法__del__方法 和 __call__方法和元祖