1、获取属性如果不存在就返回404,通过内置一系列函数,我们可以对任意python对象进行剖析,拿到其内部数据,但是要注意的是,只是在不知道对象信息的时候,我们可以获得对象的信息。

2、实例属性和类属性的绑定,由于python是 动态语言,根据类创建的实例可以任意绑定属性,给实例绑定属性的方法通过实例变量或者self变量。实例属性属于各个实例所有,互不干扰,类的属性属于类所有,所有实例共享一个属性,不要对实例属性和类属性使用相同的名字,否则将产生难以发现的错误。

3、使用__slots__变量限制class实例添加的属性。就是限制给class绑定属性。

class Student(object):

    @property
def score(self):
return self._score @score.setter
def score(self, value):
if not isinstance(value, int):
raise ValueError('score must be an integer!')
if value < 0 or value > 100:
raise ValueError('score must between 0 ~ 100!')
self._score = value

@property的实现比较复杂,我们先考察如何使用。把一个getter方法变成属性,只需要加上@property就可以了,此时,@property本身又创建了另一个装饰器@score.setter,负责把一个setter方法变成属性赋值,于是,我们就拥有一个可控的属性操作:

4、多重继承,通过多重继承,一个子类可以获得多个父类的所用功能

5、 文档测试

6、IO测试,注意:>>> f = open('/Users/michael/test.jpg', 'rb') >>> f.read() b'\xff\xd8\xff\xe1\x00\x18Exif\x00\x00...' # 十六进制表示的字节

要读取非UTF-8编码的文本文件,需要给open()函数传入encoding参数,例如,读取GBK编码的文件:

>>> f = open('/Users/michael/gbk.txt', 'r', encoding='gbk')
>>> f.read()
'测试'

遇到有些编码不规范的文件,你可能会遇到UnicodeDecodeError,因为在文本文件中可能夹杂了一些非法编码的字符。遇到这种情况,open()函数还接收一个errors参数,表示如果遇到编码错误后如何处理。最简单的方式是直接忽略:

>>> f = open('/Users/michael/gbk.txt', 'r', encoding='gbk', errors='ignore'

												

最新文章

  1. Zabbix 漏洞分析
  2. Smooth Mouse
  3. Spring+SpringMVC+MyBatis+LogBack+C3P0+Maven+Git小结(转)
  4. Codeforces 586D. Phillip and Trains 搜索
  5. 【Bootstrap】3.优化站点资源、完成响应式图片、让传送带支持手势
  6. 解决启动Biee控制台乱码问题
  7. 8个节点MySQL-cluster安装和配置,含两个管理节点
  8. c#生成缩略图
  9. sql 随机生成中文名字
  10. 2013级C++第15周(春)项目——输入输出流及文件文件操作
  11. js中的console
  12. Linux学习之开机启动
  13. tableView 短剪线离开15像素问题
  14. 卷积神经网络CNN
  15. eclipse竖向选择快捷键
  16. Dockerfile构建容器---语法高亮
  17. 阿里数据源Druid配置详情
  18. c 取读地图输入
  19. gradle新建工程,多项目依赖,聚合工程
  20. 软件团队项目第一次Sprint评价(评价人:张家军)

热门文章

  1. 利用gcc的__attribute__编译属性section子项构建初始化函数表
  2. ECharts.js学习(一) 简单入门
  3. mvc5怎么给所有action都设置几个公用的ViewBag
  4. Linux虚拟机安装及环境搭建
  5. shell脚本 统计一段程序运行时间【转】
  6. shell 在手分析服务器日志【转】
  7. js学习笔记--dom部分(一)
  8. document.execCommand()的用法小记
  9. 计算机基础+python安装注意问题+python变量介绍
  10. springboot:扩展类型转换器