工厂函数:能够产生类实例的内建函数。
工厂函数是指这些内建函数都是类对象, 当调用它们时,实际上是创建了一个类实例。
Python中的工厂函数举例如下:
1. int(),long(),float(),complex(),bool()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 |
>>> a = int ( 9.9 ) >>> a 9 >>> b = long ( 45 ) >>> b 45L >>> f = float ( 8 ) >>> f 8.0 >>> c = complex ( 8 ) >>> c ( 8 + 0j ) >>> b1 = bool ( 7.9 ) >>> b1 True >>> b2 = bool ( 0.0 ) >>> b2 False >>> b3 = bool ([]) >>> b2 False >>> b4 = bool (( 34 , 5 )) >>> b4 True |
2. str(),unicode()
1
2
3
4
5
6
7 |
>>> s = str ( 9.9 ) >>> s '9.9' >>> unicode ( 9.0 ) u '9.0' >>> unicode ( 'love' ) u 'love' |
3. list(),tuple():生成列表或者元组
1
2
3
4
5
6 |
>>> l = list ( 'python' ) >>> l [ 'p' , 'y' , 't' , 'h' , 'o' , 'n' ] >>> t = tuple ( 'python' ) >>> t ( 'p' , 'y' , 't' , 'h' , 'o' , 'n' ) |
4. type():查看类型
1
2
3
4
5
6
7
8
9
10
11
12
13
14 |
>>> type ( 6 ) < type 'int' > >>> type ( 'python' ) < type 'str' > >>> type (u 'love' ) < type 'unicode' > >>> class A(): ... pass ... >>> a = A() >>> type (a) < type 'instance' > >>> type (A) < type 'classobj' > |
5. dict():生成一个字典
1
2
3
4
5
6
7
8
9
10
11
12
13
14 |
>>> 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 } |
6. set(): 生产可变集合
1
2
3
4
5
6 |
>>> s = set ( 'python' ) >>> s set ([ 'h' , 'o' , 'n' , 'p' , 't' , 'y' ]) >>> s.add( 825 ) #可变集合 >>> s set ([ 'h' , 'o' , 'n' , 'p' , 't' , 'y' , 825 ]) |
7. frozenset():生成不可变集合
1
2
3
4
5 |
>>> s = frozenset ( 'python' ) >>> s frozenset ([ 'h' , 'o' , 'n' , 'p' , 't' , 'y' ]) >>> s.add() #不可变集合 AttributeError: 'frozenset' object has no attribute 'add' |
一级建造师二级建造师消防工程师造价工程师土建职称房地产经纪人公路检测工程师建筑八大员注册建筑师二级造价师监理工程师咨询工程师房地产估价师 城乡规划师结构工程师岩土工程师安全工程师设备监理师环境影响评价土地登记代理公路造价师公路监理师化工工程师暖通工程师给排水工程师计量工程师
执业药师执业医师卫生资格考试卫生高级职称护士资格证初级护师主管护师住院医师临床执业医师临床助理医师中医执业医师中医助理医师中西医医师中西医助理口腔执业医师口腔助理医师公共卫生医师公卫助理医师实践技能内科主治医师外科主治医师中医内科主治儿科主治医师妇产科医师西药士/师中药士/师临床检验技师临床医学理论中医理论