格式化打印
平时调试的时候我们经常需要把dict,list等对象打印出来。但是print所打印出来的内容是未格式化的,导致很难辨认。
解决方案是使用pprint模块
import pprint#导入pprint模块 pp = pprint.PrettyPrinter(indent=4)#定义缩进为4个空格 pp.pprint(dict)#格式化打印对象
实例方法,类方法与静态方法
一些属性和方法属于类本身,另一些则属于由类创建的对象。
实例方法:
第一个参数为self的方法是实例方法。调用时Python将对象传递给方法。
特征:
- 第一个参数为self
通过
实例.方法名()
或
类名.方法名(实例)
的形式调用
类方法:
类方法影响类整体,任何对于类方法的改动将影响由其创建的所有对象。
特征:
- 具有@classmethod修饰器
- 第一个参数为cls
这样定义的类方法可以通过
类名.方法名()
的形式调用,也可以通过
实例.方法名()
的形式调用,不能通过
类名.方法名(实例)
的形式调用;
静态方法
特征:
- 具有@staticmethod修饰器
静态方法即为普通函数,但是必须通过
实例.方法名()
或
类名.方法名()
的形式调用
Reference:
UnicodeEncodeError: ‘ascii’ codec can’t encode
这个异常是由于Unicode编码与ASCII编码的不兼容引起。
使用
import sys print sys.getdefaultencoding() 'ascii'
获得Python的默认环境编码为ascii
由于Python调用ascii编码解码程序去处理字符流,如字符流不属于ascii范围内,则抛出上述异常。
解决方案为修改默认的编码模式为utf8:
import sys reload(sys) sys.setdefaultencoding('utf-8')
…待续…
发表回复/Leave a Reply