python 工厂函数

工厂函数:能够产生类实例的内建函数。

 工厂函数是指这些内建函数都是类对象, 当调用它们时,实际上是创建了一个类实例。

 python中的工厂函数举例如下:

1》int(),long(),float(),complex(),bool()

>>> 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()

>>> s=str(9.9)
>>> s
'9.9'

>>> unicode(9.0)
u'9.0'

>>> unicode('love')
u'love'

3》list(),tuple():生成列表或者元组

>>> l=list('python')
>>> l
['p', 'y', 't', 'h', 'o', 'n']

>>> t=tuple('python')
>>> t
('p', 'y', 't', 'h', 'o', 'n')

4》type():查看类型   

>>> 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():生成一个字典

>>> 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():   生产可变集合

>>> 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():生成不可变集合

>>> s=frozenset('python')
>>> s
frozenset(['h', 'o', 'n', 'p', 't', 'y'])
>>> s.add()#不可变集合

AttributeError: 'frozenset' object has no attribute 'add'


函数python工厂函数有以下内置函数: - abs(): 返回数字的绝对值。 - all(): 如果所有元素都是 true(或者为空),则返回 True。 - any(): 如果任何元素都为 true,则返回 True。 - ascii(): 返回一个表示对象的可打印字符串。使用 repr() 函数,将非 ASCII 字符转换为转义字符。 - bin(): 返回整数的二进制表示。 - bool(): 将值转换为布尔值。 - bytearray(): 返回一个新字节数组。 - bytes(): 返回一个新字节数组。 - callable(): 检查对象是否可调用。 - chr(): 返回表示指定 Unicode 码位的字符。 - classmethod(): 返回一个类方法。 - compile(): 将源代码编译为代码对象。 - complex(): 返回一个复数。 - delattr(): 删除对象的属性。 - dict(): 创建一个字典。 - dir(): 返回对象的属性和方法列表。 - divmod(): 返回两个数的商和余数。 - enumerate(): 返回一个枚举对象。 - eval(): 执行表达式。 - exec(): 执行指定的 Python 代码。 - filter(): 返回一个迭代器,其中包含使指定函数返回 True 的元素。 - float(): 返回一个浮点数。 - format(): 格式化字符串。 - frozenset(): 返回一个冻结的集合。 - getattr(): 返回对象指定的属性值。 - globals(): 返回当前全局符号表。 - hasattr(): 返回对象是否有指定的属性。 - hash(): 返回对象的哈希值。 - help(): 返回对象的帮助文档。 - hex(): 将整数转换为十六进制。 - id(): 返回对象的唯一标识符。 - input(): 读取用户的输入。 - int(): 将指定的字符串或数字转换为整数。 - isinstance(): 检查对象是否为指定类型。 - issubclass(): 检查一个类是否为另一个类的子类。 - iter(): 返回可迭代对象的迭代器。 - len(): 返回对象的长度。 - list(): 返回一个列表。 - locals(): 返回当前局部符号表。 - map(): 返回一个迭代器,其中包含通过将每个元素传递到指定函数并返回结果而生成的元素。 - max(): 返回序列中最大的元素。 - memoryview(): 返回一个内存视图对象。 - min(): 返回序列中最小的元素。 - next(): 返回迭代器中的下一个元素。 - object(): 返回一个空对象。 - oct(): 将整数转换为八进制。 - open(): 打开文件并返回文件对象。 - ord(): 返回表示指定字符的 Unicode 码位。 - pow(): 返回一个数的幂。 - print(): 打印指定的对象。 - property(): 返回属性的属性。 - range(): 返回一个表示范围的对象。 - repr(): 返回对象的字符串表示形式。 - reversed(): 返回序列的反转版本。 - round(): 返回四舍五入到指定数字位数的数字。 - set(): 返回一个集合对象。 - setattr(): 设置对象的属性。 - slice(): 返回表示切片的对象。 - sorted(): 返回排序后的序列。 - staticmethod(): 返回一个静态方法。 - str(): 返回指定对象的字符串表示形式。 - sum(): 返回一个序列的总和。 - super(): 返回一个代理对象,该对象将方法调用委托给超类。 - tuple(): 返回一个元组对象。 - type(): 返回对象的类型。 - vars(): 返回对象的属性和属性值的字典。 - zip(): 返回可以将多个迭代器中的对应元素作为元组组合的迭代器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值