Python常见工厂函数用法示例

yipeiwu_com6年前Python基础

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

Python使用回溯法子集树模板获取最长公共子序列(LCS)的方法

Python使用回溯法子集树模板获取最长公共子序列(LCS)的方法

本文实例讲述了Python使用回溯法子集树模板获取最长公共子序列(LCS)的方法。分享给大家供大家参考,具体如下: 问题 输入 第1行:字符串A 第2行:字符串B (A,B的长度 <...

pytorch 修改预训练model实例

我就废话不多说了,直接上代码吧! class Net(nn.Module): def __init__(self , model): super(Net, self)._...

numpy数组拼接简单示例

NumPy数组是一个多维数组对象,称为ndarray。其由两部分组成: ·实际的数据 ·描述这些数据的元数据 大部分操作仅针对于元数据,而不改变底层实际的数据。 关于NumPy数组有几点...

python logging日志模块的详解

python logging日志模块的详解 日志级别 日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRITICAL。 DEBUG:详细的信...

通过5个知识点轻松搞定Python的作用域

1、块级作用域 想想此时运行下面的程序会有输出吗?执行会成功吗? #块级作用域 if 1 == 1: name = "lzl" print(name) for i...