def attributes 都不能用，这个等后面研究