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




最新文章

  1. MyBatis入门基础(一)
  2. NOI 题库 7084
  3. 带你玩转JavaWeb开发之六-mysql基本语法详解及实例(1)
  4. Javascript.ReactNative-2-javascript-syntax-in-react-native
  5. Android服务之Service(其一)
  6. mybatis乐观锁实现,解决并发问题
  7. Caffe学习系列(5):其它常用层及参数
  8. OPENSSL安装 以及使用openssl中的AES加密和解密
  9. 发测试邮件或垃圾邮件node脚本
  10. Ubuntu系统下搭建Python开发环境
  11. QQ音乐产品经理黄楚雄:产品与用户的情感联系
  12. Git 入门 ---- Git 与 SVN 区别
  13. 微信app支付详细教程
  14. C# Redis 过期机制不生效问题
  15. MGR实现分析 - 成员管理与故障恢复实现
  16. 洛谷P1309 瑞士轮(归并排序)
  17. Effective Java 第三版——79. 避免过度同步
  18. Oracle INTERVAL
  19. selenium+java多层级frame切换的问题
  20. padding margin border 和元素大小

热门文章

  1. 微信小程序开发 如何退出当前页面
  2. java.io几种读写文件的方式
  3. [转] 浅谈session,cookie,sessionStorage,localStorage的区别及应用场景
  4. 内存栈与堆的区别C#
  5. 【CF662C】Binary Table(FWT)
  6. python2 python3 转换,兼容
  7. ANGULAR6.x - 错误随笔 - Can't bind to 'formGroup'
  8. centos中less翻页查询的用法
  9. 去掉select的原有样式
  10. 008 RestFul API 拦截器