python中的内置函数getattr()与反射

1.介绍

其实getattr()这个方法最主要的作用是实现反射机制。也就是说可以通过字符串获取方法实例。这样,你就可以把一个类可能要调用的方法放在配置文件里,在需要的时候动态加载。

别喝__getattr__搞混了

在python的官方文档中:getattr()的解释如下:

getattr(object, name[, default])

Return the value of the named attribute of object. name must be a string. If the string is the name of one of the o......

python中特殊函数定制类

1.__slot__

这个属性主要用于绑定属性时做限制。具体查看slot用法

2.__str__和__repl__

__str__定制直接打印实例时的输出信息,面向用户

__repl__在shell直接输入对象时打印的信息,面向开发者(调试)

3.__iter__和__next__

使得一个类支持for in语句来迭代

4.__getitem__和__setitem__

像list一样取和设定元素。还可以支持切片操作。

5.__getattr__

调用不存在的属性和方法时返回一些内容,而不是报错

6.__call__

使得实例对象支持: ......

python中的IO、序列化、OS模块

1.文件

__author__ = 'Kaiming'

# P1 打开文件、读文件、关闭文件的典型方法

try:

f = open('./test.txt', 'r')

print(f.read())

finally:

if f:

f.close()

# P2 推荐的简洁写法,不必显式的关闭文件描述符

# open返回的对象在python中称作file-like 对象,可以是字节流、网络流、自定义流等

with open('./test.txt', 'r') as f:

# 按行读取

for line ......

python异常处理与调试测试

1.使用try-catch-finally

try:

print('try...')

r = 10 / 0

print('result:', r)

except ZeroDivisionError as e:

print('except:', e)

finally:

print('finally...')

print('END')

2.使用logging记录出错信息

#==============使用logging记录错误,可以"打印错误堆栈信息"同时使得程序继续执行==......

python中的元类

1. 简介

元类是创建类的类,可以用来屏蔽一些复杂的操作,在用户使用类的时候不知不觉就应用起来。比如每个类都可以使用一些默认方法、属性,这个其实是通过type来创建类的时候就设定好了。从某种角度来看,元类就是一个类模板,其他类根据这个模板来创建类。现在python3.x的书写方式更加符合这种理解

在ORM框架的编程过程中,通过元类,可以把数据库对象和python对象的映射过程透明化,同时可以把复杂的SQL语句也屏蔽,比如保存到数据库只要使用save()即可,十分的方便。例如javaweb里面的struts2框架里面的拦截器,就可以通过这种方式来实现。之所以能这么做,也是因为每个类都......