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实现的生产者、消费者问题完整实例

本文实例讲述了Python实现的生产者、消费者问题。分享给大家供大家参考,具体如下: 生产者、消费者问题,经典的线程同步问题:假设有一个缓冲池(列表),生产者往里面放东西,消费者从里面取...

在arcgis使用python脚本进行字段计算时是如何解决中文问题的

在arcgis使用python脚本进行字段计算时是如何解决中文问题的

一、引言   在arcgis打开一个图层的属性表,可以对属性表的某个字段进行计算,但是在平常一般都是使用arcgis提供的字段计算器的界面进行傻瓜式的简答的赋值操作,并没有使用到脚本对字...

python实现基于SVM手写数字识别功能

python实现基于SVM手写数字识别功能

本文实例为大家分享了SVM手写数字识别功能的具体代码,供大家参考,具体内容如下 1、SVM手写数字识别 识别步骤: (1)样本图像的准备。 (2)图像尺寸标准化:将图像大小都标准化为8...

简单介绍Ruby中的CGI编程

Ruby 是一门通用的语言,不仅仅是一门应用于WEB开发的语言,但 Ruby 在WEB应用及WEB工具中的开发是最常见的。 使用Ruby您不仅可以编写自己的SMTP服务器,FTP程序,或...

python使用多进程的实例详解

python多线程适合IO密集型场景,而在CPU密集型场景,并不能充分利用多核CPU,而协程本质基于线程,同样不能充分发挥多核的优势。 针对计算密集型场景需要使用多进程,python的m...