工厂函数:能够产生类实例的内建函数。
工厂函数是指这些内建函数都是类对象, 当调用它们时,实际上是创建了一个类实例。
Python中的工厂函数举例如下:
a=int(9.9)
a
9b=long(45)
b
45Lf=float(8)
f
8.0c=complex(8)
c
(8+0j)b1=bool(7.9)
b1
Trueb2=bool(0.0)
b2
Falseb3=bool([])
b2
Falseb4=bool((34,5))
b4
True
s=str(9.9)
s
‘9.9’unicode(9.0)
u’9.0’unicode(‘love’)
u’love’
l=list(‘python’)
l
[‘p’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’]t=tuple(‘python’)
t
(‘p’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’)
type(6)
type(‘python’)
type(u’love’)
class A():
… pass
…a=A()
type(a)
type(A)
dict()
{}dict(one=1,two=2)
{‘two’: 2, ‘one’: 1}dict(zip((‘one’,‘two’),(1,2)))
{‘two’: 2, ‘one’: 1}dict([(‘one’,1),(‘two’,2)])
{‘two’: 2, ‘one’: 1}dict([[‘one’,1],[‘two’,2]])
{‘two’: 2, ‘one’: 1}dict(((‘one’,1),(‘two’,2)))
{‘two’: 2, ‘one’: 1}dict(([‘one’,1],[‘two’,2]))
{‘two’: 2, ‘one’: 1}
s=set(‘python’)
s
set([‘h’, ‘o’, ‘n’, ‘p’, ‘t’, ‘y’])s.add(825)#可变集合
s
set([‘h’, ‘o’, ‘n’, ‘p’, ‘t’, ‘y’, 825])
s=frozenset(‘python’)
s
frozenset([‘h’, ‘o’, ‘n’, ‘p’, ‘t’, ‘y’])s.add()#不可变集合
AttributeError: ‘frozenset’ object has no attribute ‘add’