python内置函数type()函数一个有趣的用法

今天在网上看到type的一段代码 ,然后查了一下文档,才知道type还有三个参数的用法。

http://docs.python.org/2/library/functions.html#type

以前只是知道type可以检测对象类型。然后发现了一个有趣的用法。

代码如下:

def println(self):
a = 1 + 1

print “%s,%s” % (self.aa, a)

a = type(‘a’,(),{‘aa’:’print a’, ‘println’: println})

a = a()

type(a)
out[11]: __main__.a

a.println()
print a,2

第一个参数是类的名字,第二个元组是父类,第三个是属性。

哈哈,我觉得很好笑,虽然我函数里边第一个参数还是写的self,但是如果写一段代码都用这种方法定义类,然后再不注意类名的规范,代码会变的很难读。

Posted in 未分类

发表评论