码迷,mamicode.com
首页 > 其他好文 > 详细

反射与内置方法str del

时间:2018-07-01 11:51:17      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:init   enc   应该   try   系统   name   people   delattr   elf   

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

标签:init   enc   应该   try   系统   name   people   delattr   elf   

原文地址:https://www.cnblogs.com/quqinchao/p/9249501.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!